views:

2128

answers:

2

I'm building a data entry interface and have successfully bound the columns that have reference tables for their data using DropDownList so the user selects from the pre-configured values.

My problem now is that I don't want the first value to be selected by default, I need to force the user to select a value from the list to avoid errors where they didn't pick that field and by default a value was assigned.

Is there a more elegant way of doing this than to add code to include an empty value at the top of the list after I get it from the database and before i pass it to the SelectList constructor in my controller class?

+18  A: 

The Html helper function takes a 'first empty value' parameter as the third argument.

<%=Html.DropDownList("name",dataSource,"-please select item-")%>
Ropstah
excellent! Thanks
jvanderh
A: 

You can also use this way:

        dropdownlist.DataTextField = ds.Tables[0].Columns[0].Caption;
        dropdownlist.DataValueField = ds.Tables[0].Columns[1].Caption;
        dropdownlist.DataSource = ds;
        dropdownlist.DataBind();


        dropdownlist.Items.Insert(0, new ListItem("Select ...", string.Empty));
qulzam
I guess the question is regarding asp.net MVC!
taoufik
yep, not applicable to asp.net MVC
BenB