- 你好,我试图在jquery中使用自动完成,这是我的代码:
- 此操作位于名为Admin的区域中名为Agence的控制器上。
public JsonResult GetAgences(string term)
{
return Json(_agenceRepo.SearchByNom(term), JsonRequestBehavior.AllowGet);
}
-Here是将Value返回给JSon的存储库的方法:
public IList<Agence> SearchByNom(string nom)
{
return _context.Agences.Where(a => a.Nom.Contains(nom)).ToArray();
}
- 这是jquery代码:
<label for="completeMe">Find:</label>
<input type="text" id="completeMe" />
<script type="text/javascript">
$(function () {
$("#completeMe").autocomplete({
source: '@Url.Action("GetAgences", "Agence")',
minLength: 1
}
});
});
</script>
- 所有此代码都放在一个页面中,即具有搜索字段的页面。 - 这是我在主页上的JQuery引用:
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
@Styles.Render("~/Content/css")
<link href="@Url.Content("~/Content/themes/base/Bootstrap/bootstrap.css")" rel="stylesheet" type="text/css" />
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
<script src= "@Url.Content("~/Scripts/Bootstrap/bootstrap.min.js")" type="text/javascript"></script>
- 我遵循了所有必要的步骤,但是当我想要搜索结果时没有任何反应。我怀疑问题出在我的jQuery引用中。谢谢。
答案 0 :(得分:0)
我认为您的ajax调用存在问题,您尚未指定该参数。 这样做:
<script type="text/javascript">
$(function () {
$("#completeMe").autocomplete({
source: '@Url.Action("GetAgences", "Agence")',
data: {term: 'xyz'}
minLength: 1
}
});
});