I'm new to ASP.NET MVC. I'm trying to figure out how create a basic drop down list from values in my database. In ASP.NET web forms, I know I can load a drop down list like this:
Page.aspx
<asp:DropDownList ID="myDropDownList" runat="server" DataTextField="FullName" DataValueField="ID" OnLoad="myDropDownList_Load" />
Page.aspx.cs
void myDropDownList_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
List<Person> people = GetPeopleFromDatabase();
myDropDownList.DataSource = people;
myDropDownList.DataBind();
}
}
How do I do the same type of thing in ASP.NET MVC? Thank you!
In MVC2, use
<%=Html.DropListFor(x => x.MemberName, Model.DropListItems)%>
in your view and in your controller you populate DropListItems with a newSelectList
containing the items from the database.I belive that the Nerd Dinner-sample includes this, and if you're new to MVC you should really really go through and create the Nerd Dinner app, because you learn so much from it, even if you plan to not use what they use.
Model
Extension method
Getting data from database
View
or better yet:
Take a look at this blog post that explains it all:
Drop-down Lists and ASP.NET MVC