Warum wird in der Dropdown-Liste nicht zuerst mein leeres Element angezeigt? Hier ist was ich habe
drpList.Items.Add(New ListItem("", ""))
With drpList
.DataSource = myController.GetList(userid)
.DataTextField = "Name"
.DataValueField = "ID"
.DataBind()
End With
Bearbeiten ~ Ich bin an eine allgemeine Liste gebunden. Könnte dies der Schuldige sein?
asp.net
drop-down-menu
Saif Khan
quelle
quelle
Antworten:
Nach Ihrer Datenbindung:
quelle
Sie können verwenden,
AppendDataBoundItems=true
um einfach hinzuzufügen:quelle
Die Datenbindung erfolgt nach dem Hinzufügen Ihres leeren Listenelements und ersetzt das bereits vorhandene. Sie müssen das leere Element von Ihrem Controller an den Anfang der Liste hinzufügen oder es nach der Datenbindung hinzufügen.
BEARBEITEN:
Nachdem Sie dies ab ASP.Net 2.0 schnell gegoogelt haben, gibt es eine wahre Eigenschaft "AppendDataBoundItems", die Sie festlegen können, um ... die datengebundenen Elemente anzuhängen.
Details siehe
http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=281 oder
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
quelle
Ich denke, ein besserer Weg ist es, zuerst das leere Element einzufügen und dann die Daten so zu binden, wie Sie es getan haben. Sie müssen jedoch die
AppendDataBoundItems
Eigenschaft des Listensteuerelements festlegen .Wir verwenden die folgende Methode, um eine Datenquelle an ein Listensteuerelement zu binden ...
quelle
Wie bei "Whisk" Said liegt der Trick in der Eigenschaft "AppendDataBoundItems"
Danke "Schneebesen"
quelle
Führen Sie Ihre Datenbindung durch und fügen Sie dann Folgendes hinzu:
quelle
Es sieht so aus, als würden Sie ein leeres Element und dann eine Datenbindung hinzufügen, wodurch die Liste leer würde. Versuchen Sie, das leere Element nach der Datenbindung einzufügen
quelle
einfach
zu guter Letzt
quelle
ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";
Cách 1:
ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;
ddlCategory.DataBind();
Cách 2:
ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));
(Getestet OK)
quelle
Sie können auch eine Vereinigung der leeren Auswahl mit der Auswahl mit Inhalt haben:
quelle