我正在尝试在我的网站上实现自动完成功能,但无法正常工作。
以下是我的观点代码:
<script src="~/Scripts/jquery-ui-1.8.20.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#SearchString").autocomplete({
source: "/Test/AutocompleteSuggestions",
minLength: 1,
select: function (event, ui) {
if (ui.item) {
$("#SearchString").val(ui.item.value);
$("form").submit();
}
}
});
});
</script>
@using (Html.BeginForm())
{
<p>
Find by name: @Html.TextBox("SearchString")
<input type="submit" value="Search" /></p>
}
以下是我的autoComplete控制器操作的代码:
public JsonResult AutocompleteSuggestions(string searchstring)
{
var suggestions = from s in db.Students
select s.Name;
var namelist = suggestions.Where(n => n.ToLower().StartsWith(searchstring.ToLower()));
// return namelist.ToList();
return Json(namelist, JsonRequestBehavior.AllowGet);
}
任何人都可以帮助我吗?
提前致谢
答案 0 :(得分:0)
你正试图通过IQueryable。尝试用
替换它return Json(namelist.ToList(), JsonRequestBehavior.AllowGet);
如果仍然无效。
尝试将“searchString”替换为“term”
public JsonResult AutocompleteSuggestions(string term)
我读过一篇文章,你必须使用“术语”查询字符串。但我不太确定。