2013-05-01 130 views
1

我试图在我的网站中实现自动填充功能,但无法正常工作。asp.net mvc(剃须刀)的自动完成

这是我的看法的代码:

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

谁能帮助我?

在此先感谢

+0

您遇到什么错误/行为? – rivarolle 2013-05-01 21:10:46

+0

不是一个真正的答案,但是,您嵌入了'jQuery-ui'脚本两次('dev'和'min')。 – haim770 2013-08-05 10:38:25

回答

0

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

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

如果仍然不起作用。

请尝试使用“搜索字符串”到“项”

public JsonResult AutocompleteSuggestions(string term) 

香港专业教育学院读,你必须使用“术语”查询字符串的文章。但我不太确定。