- ベストアンサー
ASP.Net DropDownList表値取得方法とは?
- ASP.Net DropDownListのDataTextFieldのリストに出てくる値を取得する方法について説明します。
- フィールド名しか取得できない問題に対して、DataTextField.textやDataTextField.Valueなどの方法はありません。
- リストに表示してある値が変更される場合も考慮し、値そのものを取得する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> DropDownList.SelectedValueの値が ”2” だった場合に、 > DropDownList.DataTextField の値として”みかん”の値を > 取得したいのです。 ListControl.SelectedItem プロパティから選択されている ListItem を取得して、その Text プロパティで取得できます。人に聞く前に、MSDN ライブラリを読んだ方がいいと思いますよ。
その他の回答 (1)
- WebSurfer
- ベストアンサー率55% (33/59)
「値」というのが何だか分かりませんが、DB のテーブルの id のようなものであれば、それを DataValueField に設定し、その id に該当するフィールドを DataTextField に設定すれば、DropDownList.SelectedValue プロパティから「値」を取得できます。以下のような感じです。 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:Northwind %>" SelectCommand= "SELECT DISTINCT o.EmployeeID, e.FirstName + ' ' + e.LastName AS Name FROM Orders AS o INNER JOIN Employees AS e ON o.EmployeeID = e.EmployeeID"> </asp:SqlDataSource> Employee: <asp:DropDownList ID="DropDownList2" runat="server" AppendDataBoundItems="True" DataSourceID="SqlDataSource2" DataTextField="Name" DataValueField="EmployeeID" AutoPostBack="True"> <asp:ListItem Value="0">ALL</asp:ListItem> </asp:DropDownList> 上のコードの全体は、以下の URL のページにあります。
補足
WebSurferさん お世話になります。 現在、しかたなくメソッドとして既にプロシジャーを作ってはあるのですが、プロパティの参照でなんとかできないかと思っております。 SelectValue DataTextField 1 りんご 2 みかん 3 なし 4 メロン この場合、SelectedValueであれば、DropDownList.SelectedValue で 値が取得できますが、 DropDownList.DataTextField では、そのテーブルの項目名しか取得できません。たとえばDropDownList.SelectedValueの値が ”2” だった場合に、DropDownList.DataTextField の値として”みかん”の値を取得したいのです。
お礼
WebSurferさん お世話になります。 すごい初歩的な事でした。すみません。 しかし、とても参考になりました。 ありがとうございました。