@Html.AutoCompleteFor(model => model.Id, new PeopleDatalist())
@Html.DatalistFor(model => model.Id, new PeopleDatalist())
@Html.DatalistFor(model => model.Ids, new PeopleDatalist() { Multi = true })
public class HomeController : Controller
{
private DbContext Context { get; }
public HomeController(DbContext context)
{
Context = context;
}
[HttpGet]
public ActionResult Index()
{
return View(Context.Set<Person>().Find(2));
}
[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";
Title = "People";
Filter.Sort = "Income";
Filter.Order = DatalistSortOrder.Desc;
}
public override IQueryable<Person> GetModels()
{
return Context.Set<Person>();
}
}
public class Person
{
[Key]
public Int32 Id { get; set; }
public Int32[] Ids { get; set; }
[DatalistColumn]
[Display(Name = "Name")]
public String Name { get; set; }
[DatalistColumn]
[Display(Name = "Surname")]
public String Surname { get; set; }
[DatalistColumn]
[Display(Name = "Income")]
public Int32 Income { get; set; }
[Display(Name = "Birthday")]
[DatalistColumn(Format = "{0:d}")]
public DateTime Birthday { get; set; }
public Boolean? IsWorking { get; set; }
}