web-dev-qa-db-ja.com

コードでDropDownListのテキストを取得できません-値は取得できますがテキストは取得できません

ASP.NET 3.5を使用しています

次のようなアイテムを含むlstCountryというドロップダウンリストがあります。

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

これはカナダを表示しますが、コードでは値は「米国」になります。コードで「カナダ」の値を取得するにはどうすればよいですか?

私はこれらすべてを試してみましたが、すべて「アメリカ」を返しました

lstCountry.Text
lstCountry.SelectedValue
lstCountry.SelectedItem.Text

私のドロップダウンリスト:

 <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>

コードで値を読み取る方法:

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

を使用してリストを追加

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

してみてください

DropDownList1.SelectedItem.Text

あなたの間違いを見つけました。

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

これをに変更

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

次に、実際の値を取得します。

問題は何ですか?ドロップダウンに2つの同じ値があり、ページポストバック時に、選択された最初の値を取り、それに応じて結果を提供します。ポストバック後にUnited State Valueが選択されていることに気付いた場合

36
Muhammad Akhtar

AppendDataBoundItems="true"を設定する必要があります。

3
john

試す

lstCountry.SelectedItem.Text
0
Arsen Mkrtchyan

あなたが試すことができます

lstCountry.SelectedItem.Text
0
Himadri

同じ問題があり、それを解決しただけで、文字列[variable_Name] = dropdownlist1.SelectedItem.Text;を使用しました。

0
Dameon

どうですか

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

ここを見てください。これには、ドロップダウンから何かを取得するために使用できる概念実証ページとデモがあります。 asp:DropDownList Control Tutorial Page

0
Tom