@Html.AutoCompleteFor(model => model.Id, new PeopleDatalist())
@Html.DatalistFor(model => model.Id, new PeopleDatalist())
@Html.DatalistFor(model => model.Ids, new PeopleDatalist())
document.addEventListener('datalistselect', function (e) {
var data = e.detail.data;
for (var i = 0; i < data.length; i++) {
data[i].Label = data[i].Name[0] + '. ' + .data[i].Surname;
}
});
public class HomeController : Controller
{
private DbContext Context { get; }
public HomeController(DbContext context)
{
Context = context;
}
[HttpGet]
public JsonResult AllPeople(DatalistFilter filter)
{
PeopleDatalist datalist = new PeopleDatalist(Context) { Filter = filter };
return Json(datalist.GetData(), JsonRequestBehavior.AllowGet);
}
}
public class PeopleDatalist : MvcDatalist<Person>
{
private DbContext Context { get; }
public PeopleDatalist(DbContext context)
{
Context = context;
}
public PeopleDatalist()
{
Url = "AllPeople";
}
public override IQueryable<Person> GetModels()
{
return Context.Set<Person>();
}
}