Я новичок в MVC и теперь имею проблему. Пожалуйста, дайте мне решение.MVC 4: jQuery AutoComplete показывает список «undefined»
Я создаю простой автозаполнение текстового поля в 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);
}
В View
@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' в текстовое поле, список появится, но все они " не определенно». Когда я выбираю опцию «undefined», она показывает правильное имя пользователя.
Как я могу решить «неопределенный» список?
Спасибо
Является ли действие при контролере полученным значением в терминах? –
Вы пытались установить точку перерыва в 'source: '@ Url.Action (« Список »)' и проверить правильность сериализации ваших данных? – Michael