web-dev-qa-db-ger.com

Der Text einer DropDownList kann nicht im Code abgerufen werden - er kann Werte erhalten, aber keinen Text

Ich verwende ASP.NET 3.5

Ich habe eine Dropdown-Liste namens lstCountry mit einem Artikel wie diesem:

<asp:ListItem Value="United States">Canada</asp:ListItem> 

Dies zeigt Kanada an, aber im Code wird "United States" angegeben. Wie kann ich den Wert "Kanada" auch in meinem Code abrufen?

Ich habe alle ausprobiert und sie alle "Vereinigte Staaten" zurückgeben

lstCountry.Text
lstCountry.SelectedValue
lstCountry.SelectedItem.Text

Meine Dropdown-Liste:

 <asp:DropDownList ID="lstCountry" runat="server" Width="200px">
              <asp:ListItem>Please Select</asp:ListItem>
  <asp:ListItem>United States</asp:ListItem>
  <asp:ListItem Value="United States">Canada</asp:ListItem>
 </asp:DropDownList>

Wie ich den Wert im Code lese:

    Dim country As String
    country = lstCountry.SelectedItem.Text
12
Etienne

liste hinzufügen mit 

<asp:ListItem Value="United States" Text="Canada"></asp:ListItem>

und dann versuchen 

DropDownList1.SelectedItem.Text

Ich habe deinen Fehler gefunden.

<asp:ListItem>United States</asp:ListItem> 

Ändern Sie dies in

<asp:ListItem>United States1</asp:ListItem> 

Dann erhalten Sie den tatsächlichen Wert.

Das Problem war, dass es zwei gleiche Werte in Ihrer Dropdown-Liste gibt. Wenn das Post-Postback ausgeführt wird, nimmt es den ersten Wert als ausgewählt an und gibt das Ergebnis entsprechend aus. Wenn Sie nach dem Postback bemerkt haben, dass United States Value ausgewählt ist

30
Muhammad Akhtar

AppendDataBoundItems="true" muss eingestellt werden.

3
john

versuchen

lstCountry.SelectedItem.Text
0
Arsen Mkrtchyan

Du kannst es versuchen 

lstCountry.SelectedItem.Text
0
Himadri

hatte das gleiche Problem und löste es gerade, ich verwendete string [variable_Name] = dropdownlist1.SelectedItem.Text;

0
Dameon

Wie wäre es mit

lstCountry.Items[lstCountry.SelectedIndex].Text;
0
rahul

Schauen Sie hier, diese Seite enthält eine Proof-of-Concept-Seite und eine Demo, die Sie verwenden können, um alles aus dem Dropdown-Menü zu erhalten: asp: DropDownList Control Tutorial-Seite

0
Tom