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
を使用してリストを追加
<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が選択されていることに気付いた場合
AppendDataBoundItems="true"
を設定する必要があります。
試す
lstCountry.SelectedItem.Text
あなたが試すことができます
lstCountry.SelectedItem.Text
同じ問題があり、それを解決しただけで、文字列[variable_Name] = dropdownlist1.SelectedItem.Text;を使用しました。
どうですか
lstCountry.Items[lstCountry.SelectedIndex].Text;
ここを見てください。これには、ドロップダウンから何かを取得するために使用できる概念実証ページとデモがあります。 asp:DropDownList Control Tutorial Page