我是 MVC 新手,现在有问题。请给我解决方案。
我在 MVC4 中创建简单的自动完成文本框。这是我的代码
在控制器中:
public ActionResult List(string term)
{
DebateEntities _db = new DebateEntities ();
var results = from u in _db.Users
where u.username.ToLower().Contains(term.ToLower())
select new { u.username};
return Json(results, JsonRequestBehavior.AllowGet);
}
在视图中
@model DebateApp.Models.MessageModels
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<link href="http://www.asp.net/ajaxLibrary/jQueryCodeSamplesMVC/Content/redmond/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />
</head>
<body>
@using (Html.BeginForm())
{
<fieldset>
<legend>User Lookup</legend>
@Html.TextBox("name")
@Html.TextBox("userID")
<input type="submit" value="Find" />
</fieldset>
}
</body>
<script src="http://www.asp.net/ajaxLibrary/jQueryCodeSamplesMVC/Scripts/jQueryUI/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="http://www.asp.net/ajaxLibrary/jQueryCodeSamplesMVC/Scripts/jQueryUI/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#name").autocomplete({
source: '@Url.Action("List")',
select: function (event, ui) {
$("#name").val(ui.item.username);
}
});
</script>
</html>
当我在文本框中键入“d”时,会出现一个列表,但它们都是“未定义的”。当我选择“未定义”选项时,它会显示正确的用户名。
我该如何解决“未定义”列表?
谢谢