Web ページにドロップダウン リストを実装し、作成したデータ ソースにバインドしましたが、ページで何を選択しても、dropdownlist.selectedItem
常に最初の要素が取得され、SelectedIndex
常に 0 になります。他の例と理由を見つけることができませんでした。
データ ソースの作成とバインドのコードは次のとおりです。
public void bindLanguage() {
DropDownList1.DataSource = CreateDataSource();
DropDownList1.DataTextField = "language";
DropDownList1.DataValueField = "value";
DropDownList1.DataBind();
}
public ICollection CreateDataSource()
{
string[] allLan = System.IO.File.ReadAllLines(MyGlobal.LanFile);
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("language", typeof(string)));
dt.Columns.Add(new DataColumn("value", typeof(string)));
foreach (string lan in allLan)
{
dr = dt.NewRow();
dr[0] = lan.Split(',')[0];
dr[1] = lan.Split(',')[1];
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
そしてbindLanguage()
、page_load を呼び出します。
私の aspx のコードは次のとおりです。
<asp:DropDownList ID="DropDownList1" runat="server" ForeColor="Black">
</asp:DropDownList>