Я рассмотрел многочисленные примеры реализации функции автозаполнения jQuery. Большинство из них вызывают:
jquery-1.10.2.js: 8706 GET / AddApplication / GetURL? Term = s 404 (не найдено)
У меня нет опыта работы с jQuery, я предполагаю, что эта ошибка означает, что путь указан неверно?
Я использую страницы c # и бритвы.
AddApplication.cshtml.cs
класс:
[System.Web.Mvc.HttpGet]
public System.Web.Mvc.JsonResult GetURL(string term)
{
System.Web.Mvc.JsonResult result = new
System.Web.Mvc.JsonResult();
var urls = (from c in db.Url
where c.UrlName.StartsWith(term)
select new {c.UrlName});
result.Data = urls;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
Console.WriteLine("---------"+result);
return result;
}
AddApplication.cshtml
интерфейс бритвы:
<div>
<input type="text" name="url" id="url" placeholder="Search for a URL"
autocomplete="on">
</div>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/start/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script type="text/javascript">
$(function () {
$("#url").autocomplete({
source: "@Url.Action("GetURL","AddApplication")",
minLength: 1,
select: function (event, ui) {
if (ui.item) {
$("#url").val(ui.item.value);
$("form").submit();
}
}
});
});
</script>
Насколько я понял, я пытался использовать функцию ajax в моем скрипте и все еще не работал.