Я довольно новичок в ASP MVC 5 и после прочтения нескольких руководств, я все еще не могу реализовать простую функцию автозаполнения. Моя проблема в том, что данные, которые получает представление, это [Объект объекта], и я понятия не имею, почему. Количество выбранных слов верное, единственная проблема заключается в том, что он не показывает «слова» только [Объект объекта].ASP MVC 5 Auto Complete не работает
Так что это моя модель:
public class Vassal
{
public string Name { get; set; }
public string Type { get; set; }
public int ID { get; set; }
public class VassalDBContext : DbContext
{
public DbSet<Vassal> Vassals { get; set; }
}
}
Это мой контроллер (VassalControlller)
public JsonResult AutoComplete(string search)
{
var vassalNames = from m in db.Vassals
select m;
if (!String.IsNullOrEmpty(search))
{
vassalNames = vassalNames.Where(s => s.Type.Contains(search));
}
return Json(vassalNames, JsonRequestBehavior.AllowGet);
}
и это мой взгляд
@model IEnumerable<webVassal.Models.Vassal>
@{
ViewBag.Title = "Search";
}
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" />
</div>
<script type="text/javascript" >
$(function() {
$('#tags').autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("AutoComplete")',
dataType: "json",
contentType: 'application/json, charset=utf-8',
data: {
search: $("#tags").val()
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item
};
}));
},
error: function (xhr, status, error) {
alert(error);
}
});
},
minLength: 1
});
});
</script>
Я использую JQuery 2.1.1, jquery-ui.min.js и jquery.ui.widget.js
Также, если бы я должен был адаптировать код выше, чтобы использовать плагин типа bootstrap Twitter, что мне нужно делать? Я пробовал следовать инструкциям по этой ссылке http://deanhume.com/home/blogpost/twitter-bootstrap-typeahead-and-asp-net-mvc---key-value-pairs/88, и я получал ошибку hasOwnProperty.
Приносим извинения за любые проблемы с форматом. Я новичок в выпуске кода.
Любая помощь очень ценится.
Спасибо за ваше время
Ну, я чувствую себя немым, не замечая этого ... Большое спасибо за ваше время и ответ. – Donvan