【问题标题】:Using jQuery autocomplete in my MVC3 application在我的 MVC3 应用程序中使用 jQuery 自动完成
【发布时间】:2011-11-14 23:11:58
【问题描述】:
我正在为我的用户制作一个注册表单,我希望他们在他们的城市写信。
因此,当他们输入城市名称时,jQuery UI component 的自动完成选项将异步加载。
页面上的示例显示了如何使用 .php 文件,但这如何适合纯 HTTP 解决方案?
如何获取这些选项?
我有一个使用实体框架和存储库模式访问的简单表:
table City
------------------
CityId int primary key,
Name nvarchar(256)
【问题讨论】:
标签:
c#
jquery
asp.net-mvc-3
jquery-ui
【解决方案1】:
自动完成插件将向您使用?term=blah 查询字符串参数指定的路径发送 GET 请求。
您需要在控制器中添加一个 Action 来处理此请求,并以 json 形式返回一个匹配值数组。
public ActionResult AutoCompleteCity(string term) {
var db = new myEFDataContext();
return Json(db.Cities.Where(city => city.Name.StartsWith(term)).Select(city => city.Name), JsonRequestBehavior.AllowGet);
}
然后在你的javascript中你像这样连接自动完成功能。
$('#cityTextBoxId').autocomplete({ source: '/Controller/AutoCompleteCity' });