J'utilise ASP.NET 3.5
J'ai une liste déroulante appelée lstCountry avec un élément comme celui-ci:
<asp:ListItem Value="United States">Canada</asp:ListItem>
Ceci affichera Canada mais dans le code, la valeur sera "États-Unis". Comment puis-je récupérer la valeur "Canada" également dans mon code?
J'ai essayé toutes ces solutions et toutes rentrent aux États-Unis.
lstCountry.Text
lstCountry.SelectedValue
lstCountry.SelectedItem.Text
Ma liste déroulante:
<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>
Comment j'ai lu la valeur en code:
Dim country As String
country = lstCountry.SelectedItem.Text
ajouter une liste en utilisant
<asp:ListItem Value="United States" Text="Canada"></asp:ListItem>
et ensuite essayer
DropDownList1.SelectedItem.Text
J'ai trouvé ton erreur.
<asp:ListItem>United States</asp:ListItem>
changez ceci en
<asp:ListItem>United States1</asp:ListItem>
Ensuite, vous aurez la valeur réelle.
Quel était le problème, il y a deux mêmes valeurs dans votre liste déroulante, lorsque la publication de page, il prend la première valeur comme sélectionnée et donne le résultat en conséquence. si vous avez remarqué quand après publication United States Value est sélectionné
AppendDataBoundItems="true"
doit être défini.
essayer
lstCountry.SelectedItem.Text
Tu peux essayer
lstCountry.SelectedItem.Text
avait le même problème et vient de le résoudre, j'ai utilisé string [Nom de la variable] = dropdownlist1.SelectedItem.Text;
Qu'en est-il de
lstCountry.Items[lstCountry.SelectedIndex].Text;
Regardez ici, cela a une page de preuve de concept et une démo que vous pouvez utiliser pour obtenir n'importe quoi dans le menu déroulant: asp: Page du didacticiel de contrôle DropDownList