我正在尝试使用jquery自动完成在ASP.NET MVC中创建一个自动完成文本框。在ASP.NET MVC错误中创建一个自动完成
这是我Index.cshtml:
<div class="autocomplete">
@Html.TextBox("item", null, new { id = "autocomplete-textbox", @class = "form-control" });
<input type="submit" value="Submit" id="autocomplete-button"/>
</div>
<script>
$(function() {
$('#autocomplete-textbox').autocomplete({
source: '@Url.Action("AutoComplete")',
minlength: 1
});
});
</script>
这是我家的控制器方法:
public JsonResult AutoComplete(string item)
{
IEnumerable<string> itemsList = new[] { "Ana", "are", "mere", "pere", "papaia", "Aaa", "Ab", "An" };
IEnumerable<string> filteredResults = null;
if (string.IsNullOrEmpty(item))
{
filteredResults = itemsList;
}
else
{
filteredResults = itemsList.Where(s => s.IndexOf(item, StringComparison.InvariantCultureIgnoreCase) >= 0);
}
return Json(filteredResults, JsonRequestBehavior.AllowGet);
}
我的问题是,在JsonResult自动完成参数项总是空,所以我总是得到一个JSON响应整个列表。我能做什么 ?
感谢, 马库斯
好的,非常感谢你。这有帮助。 – Marcus