views:

560

answers:

3

I am new to using the Html.DropDownList in the MVC framework and am having a hard time understading how to select the data out my database to bind to the DropDownList. Is there an easy way to return a bindable list (such as a SelectList) from a standard LINQ query?

A: 

Check out page #101 of This excellent example application - it gives a good explanation of how to use SelectList object with Linq2SQL

belugabob
A: 

The SelectList constructor takes an IEnumerable so all you need to do is pass the LINQ query to the constructor like so

 var query = from c in customers
                        select c;

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

You should do this in the Controller and have the SelectList in your ViewModel.

willbt
+1  A: 

You want to use the select keyword in the LINQ query:

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