2009-10-23 17 views
8

MVC framework'teki Html.DropDownList'i kullanıyorum ve veritabanımın DropDownList'e bağlanacak veriyi nasıl seçeceğimi anlayamıyorum. Standart bir LINQ sorgusundaki bir bindable listesi (SelectList gibi) döndürmenin kolay bir yolu var mı?.net MVC, SelectLists ve LINQ

cevap

12

SelectList yapıcı bir IEnumerable böylece tüm yapmanız gereken Sen Kontrolör bunu ve ViewModel SelectList olmalıdır böylece

var query = from c in customers 
         select c; 

var customerList = new SelectList(query, "CustomerId", "CustomerName"); 

gibi kurucusuna LINQ sorgusu geçmesi olduğunu sürer.

8

Sen LINQ sorgusunda select anahtar kelime kullanmak istiyorum: biçimlendirme hakkında

var foo = new SelectList(from x in FooRepository.Items 
         select new SelectListItem { Text = x.Name, Value = x.Id }); 
+1

Bu benim için çalışmıyor. Sonuçlanan SelectList'i [burada] (http://stackoverflow.com/a/5285272/1948038) belirtildiği gibi yinelemeyi ve yalnızca System.Web.Mvc.SelectListItem öğesini metin olarak ve null değeri olarak almayı denerim. –

0
var foo = FoorePository.Items.Select(s = > new SelectListItem 
             { 
              Text = s.Name, Value = s.Id.ToString() 
             } 
); 

üzgünüm.