I almost have this solved but need a little push.
Here’s what I have:
In the database I have a field called active that is a bit field (True/False)
I have placed a dropdownlist on the View form like this:
<%= Html.DropDownList("lstActive", new SelectList((IEnumerable)ViewData["ActiveList"])) %>
In my controller, I simply have this code to generate the True/False in the dropdown:
List<string> activeList = new List<string>();
activeList.Add("True");
activeList.Add("False");
ViewData["ActiveList"] = new SelectList(activeList);
I want to bind to the field in the database called active and select it in the dropdown. When I view it like this I get this:
alt text http://rjmueller.net/sitesimages/temp/dropdown.gif
So the questions are these:
Obviously I am not pointing to the Value and Text property but what is that in this case?
And how do I select the value that is in the database?
Any help would be appreciated.
Here’s a couple of suggestions for you.
First, your DropdownList’s name is “lstActive”, so if you create a List<SelectListItem> called “lstActive” and pass that back in ViewData, you don’t have to do anything fancy with boxing. Then your declaration looks like:
easy, huh?
In your controller, you create your List. Here’s a method I’ve used:
Basically, what I’m trying to point out is that you can set a property on your SelectListItem that you wish to be displayed as selected. Here, I’m using my own code for Users and Accounts, but you’d substitute your own data based on your db query.