Я смотрю на книгу MVC 2 в действии. Глава о автозаполнении находится в конце, который я использую в качестве ссылки. В контроллере возвращаемые результаты Json не преобразуются в список для автозаполнения. Книга не использовала Json, но я не мог использовать их альтернативу с общим списком.MVC: Не удается получить автозаполнение для работы
Итак, мой взгляд;
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SHP.WebUI.Models.HolidayRequestViewModel>" %>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("input#SearchText").autocomplete('<%: Url.Action("FindNames", "Employee") %>');
});
</script>
<p>You must make sure that the correct person to approve your Annual Leave is currently selected</p>
<p>Your current approver is <%: Html.DisplayFor(model => model.ApproverName) %></p>
<p>If you want to change your approver, enter his/her name here and make your selection.</p>
<p><%: Html.TextBoxFor(model => model.SearchText) %></p>
<div id="test-panel" class="ui-state-default"> This panel will disappear on command.</div>
И мой контроллер;
public JsonResult FindNames(string q)
{
List<EmployeeName> filteredEmployees =
Employee.GetAllCurrentEmployeesNames().Where(x => x.Fullname.ToLower().Contains(q.ToLower())).ToList();
return Json(filteredEmployees, JsonRequestBehavior.AllowGet);
}
* EDITED * Проблема с отправкой параметра теперь фиксируется с помощью «строка Q». Очевидно, а? Теперь это случай, когда JSON возвращается в список автозаполнения.
Я не знаю механизм автозаполнения ASP.NET, но я ожидаю, что проблема - это имя параметра в URL-адресе. Какой точный URL - это генерация автозаполнения - что он назвал параметром? У вас есть какие-то конкретные маршруты, созданные для этого действия? – Rup