У меня есть следующий метод репозитория для поиска пользователей, содержащий параметр поиска: -
public IEnumerable<User> searchusers2(string q)
{
return from u in entities1.Users
where (u.UserID.Contains(q) || string.IsNullOrEmpty(q))
select u;
}
, который называется suing для следующего метода действия: -
public ActionResult QuickSearch(string term)
{
var users = r.searchusers2(term);
users.Select(a => new { value = a.UserID });
return Json(users, JsonRequestBehavior.AllowGet);
}
и напосмотрите, у меня есть следующий код: -
@using (Ajax.BeginForm("Search", "User", new AjaxOptions
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
LoadingElementId = "progress"
}))
{
<input type="text" name="q" data-autocomplete-source="@Url.Action("QuickSearch", "User")" />
<input type="hidden" name="classid" value="@ViewBag.classid"/>
<input type="submit" value="Search" />
}
приведенный выше код не работает, но если я изменю свой метод действия на следующий (без использования репозитория для выполнения поиска), тогда будет работать автозаполнениехорошо ,,, так что может быть причиной этой проблемы: -
public ActionResult QuickSearch(string term)
{
var users = entities1.Users
.Where(e => e.UserID.Contains(term))
.Select(r => new {value = r.UserID });
return Json(users, JsonRequestBehavior.AllowGet);
}