1

我正在尝试在我的网站中实现自动完成功能,但无法正常工作。

这是我的观点的代码:

<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> 
}

这是我的自动完成控制器操作的代码:

    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);
    }

谁能帮我 ?

提前致谢

4

1 回答 1

0

您正在尝试通过 IQueryable。尝试将其替换为

return Json(namelist.ToList(), JsonRequestBehavior.AllowGet);

如果那仍然不起作用。

尝试将“searchString”替换为“term”

public JsonResult AutocompleteSuggestions(string term)

我读过一篇文章,您必须使用“术语”查询字符串。但我不太确定。

于 2013-08-05T10:28:49.753 回答