Jestem nowy w używaniu Html.DropDownList w środowisku MVC i mam problem ze zrozumieniem, jak wybrać dane z mojej bazy danych do powiązania z DropDownList. Czy istnieje prosty sposób na zwrócenie listy wiążącej (takiej jak SelectList) ze standardowego zapytania LINQ?.net MVC, SelectLists i LINQ
8
A
Odpowiedz
12
Konstruktor SelectList zajmuje IEnumerable więc wszystko co musisz zrobić, to przekazać kwerendy LINQ do konstruktora jak tak
var query = from c in customers
select c;
var customerList = new SelectList(query, "CustomerId", "CustomerName");
Należy to zrobić w kontrolerze i mają w swoim SelectList ViewModel.
8
Chcesz użyć słowa kluczowego select
w kwerendzie LINQ:
var foo = new SelectList(from x in FooRepository.Items
select new SelectListItem { Text = x.Name, Value = x.Id });
0
var foo = FoorePository.Items.Select(s = > new SelectListItem
{
Text = s.Name, Value = s.Id.ToString()
}
);
Niestety o formatowaniu.
To nie działa dla mnie. Próbuję iterować wynikową SelectList jako decsrybed [tutaj] (http://stackoverflow.com/a/5285272/1948038) i otrzymuję tylko System.Web.Mvc.SelectListItem jako tekst i null jako wartość. –