DB から値を取得するデータベース バインド ドロップダウン リストがあります。
ddl.SelectedItem を .Text または .Value のいずれかで呼び出すと、インデックスが正しくありません。
DB テーブルの値が次のようになっているとします。
Column1 | Column2
Dublin1 | Value1
Dublin2 | Value1
Dublin3 | Value1
London1 | Value2
London2 | Value2
London3 | Value2
SQL 選択クエリ:
SELECT [Column1],[Column2] FROM [Table] ORDER BY [Column1]
DDL:
<asp:DropDownList runat="server" ID="ddl"
DataSourceID="SQLDataSource" DataTextField="Column1"
DataValueField="Column2"></asp:DropDownList>
ASPX のみでのバインド:
<asp:SqlDataSource ID="SQLDataSource" runat="server"
ConnectionString="<%$ConnectionStrings:DatabaseConnectionString %>"
SelectCommand="SELECT [Column1],[Column2],FROM [Table] ORDER BY [Column1]">
</asp:SqlDataSource>
そのため、Dublin2 と Dublin3 のどちらを選択しても、ドロップダウン リストから Selected Item を取得すると、London の値と同じように、常に Dublin1 が返されます。
ddl は、item.text と item.value の両方に正しく入力されます。
境界に関して設定する必要があるものはありますか?