Привет, я новичок в разработке веб-страниц, проверил все связанные вопросы в Stack over flow, но все еще не могу найти решение.
Я пытаюсь включить функцию автозаполнения в поле ввода, и она отлично работает, если мой Layout = null;
в файле просмотра, где, как если бы я использовал свой существующий шаблон представления ViewBag.Title = "Home Page";
Функция автозаполнения не работает
Просмотр файла:
@model IEnumerable<AspNetRoleBasedSecurity.Models.PostModel>
@{
ViewBag.Title = "Home Page";
}
<div class="row search-row">
<input class="search ui-autocomplete-input" type="text" id="CityName" placeholder="What do you need help with?"/>
<a class="buttonsearch btn btn-info btn-lg" href="search-results.html">Search</a>
</div>
Используемый скрипт:
<script type="text/javascript">
$(document).ready(function () {
$("#CityName").autocomplete({
source: function (request,response) {
$.ajax({
url: "/Home/GetRecord",
type: "POST",
dataType: "json",
data: { prefix: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.Title, value: item.Title };
}))
}
})
},
});
});
</script>
Ref
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" />
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
C #
public JsonResult GetRecord(string prefix)
{
DataSet ds = PostRepo.GetName(prefix);
List<search> searchlist = new List<search>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
searchlist.Add(new search
{
Title= dr["Title"].ToString(),
Tags = dr["Tags"].ToString(),
Id = dr["Id"].ToString()
});
}
return Json(searchlist, JsonRequestBehavior.AllowGet);
}
Не могу понять, почему он не работает, если ViewBag.Title = "Home Page";
Не получено сообщение об ошибке, но функция автозаполнения не работает.
Пожалуйста, помогите мне понять концепцию.