2009-06-02 8 views
49

Ich baue eine Dateneingabeschnittstelle und bin erfolgreich die Spalten mit Bezugstabellen für ihre Daten mithilfe von DropDownList gebunden, sodass der Benutzer aus den vorkonfigurierten Werten auswählt.Hinzufügen eines leeren Werts zu einer DropDownList in ASP.net MVC

Mein Problem ist jetzt, dass ich nicht möchte, dass der erste Wert standardmäßig ausgewählt wird, ich muss den Benutzer zwingen, einen Wert aus der Liste zu wählen, um Fehler zu vermeiden, wo sie dieses Feld und standardmäßig nicht ausgewählt haben Ein Wert wurde zugewiesen.

Gibt es eine elegantere Möglichkeit, dies zu tun, als Code hinzuzufügen, um einen leeren Wert an den Anfang der Liste zu setzen, nachdem ich ihn aus der Datenbank abgerufen habe und ihn an den SelectList-Konstruktor in meiner Controller-Klasse übergeben habe?

Antwort

98

Die HTML-Hilfsfunktion verwendet als drittes Argument einen 'ersten leeren Wert' Parameter.

<%=Html.DropDownList("name",dataSource,"-please select item-")%> 
+0

ausgezeichnet! Danke – jvanderh

+0

Ah das ist großartig, ich sah 'SelectList' Objektparameter für diese – Matt

-9

Sie können auch auf diese Weise verwenden:

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)); 
+0

Ich denke, die Frage bezieht sich auf asp.net MVC! – tofi9

+0

yep, gilt nicht für asp.net MVC – BenB