asp.NetではDropDownListで複数項目を選択できない原因分析と解決方法
2064 ワード
サンプルコード:
2回選択があったので、間違えました.
Page loadの場合、index 0のSelected=trueで、index 1のSelectedもtrueで、エラーを報告します.
dropDownListは使用しないでください.Items[x].Selected=true/false、dropDownListを推奨します.SelectedIndex = x.
解決策は2つあります.
(1)あるオプションを選択する際に、上の緑色コード表示方式を用いずに、下のコードを使用する
this .ddl_BulkStock.SelectedIndex = ddl_BulkStock.Items.IndexOf(ddl_BulkStock.Items.FindByValue(infobulkstockid));
(2)オプションを選択するたびにClearSelectionアクションを使用する.
this.ddl_BulkStock.ClearSelection();
今日編集ページが表示されます.DropDownListで複数の項目を選択できません.
原因をよく探してみると、
ページを編集してデータを再バインドするコード:
理由は:あなたのDropDownListには2つのSelected=“True”オプションがあるので、エラーです!
#dropdownlistコントロール
BulkStockBll bll = new BulkStockBll();
DataSet ds = bll.GetBulkStock();
this.ddl_BulkStock.DataTextField = "Name" ;
this.ddl_BulkStock.DataValueField = "ID" ;
this.ddl_BulkStock.DataSource = ds;
this.ddl_BulkStock.DataBind();
this.ddl_BulkStock.Items.Add(new ListItem( " ", "0" ));// !
this.ddl_BulkStock.Items.FindByValue("0" ).Selected = true;
*******************************
this.ddl_BulkStock.Items.FindByValue(infobulkstockid).Selected = true;// !
******************************
2回選択があったので、間違えました.
Page loadの場合、index 0のSelected=trueで、index 1のSelectedもtrueで、エラーを報告します.
dropDownListは使用しないでください.Items[x].Selected=true/false、dropDownListを推奨します.SelectedIndex = x.
解決策は2つあります.
(1)あるオプションを選択する際に、上の緑色コード表示方式を用いずに、下のコードを使用する
this .ddl_BulkStock.SelectedIndex = ddl_BulkStock.Items.IndexOf(ddl_BulkStock.Items.FindByValue(infobulkstockid));
(2)オプションを選択するたびにClearSelectionアクションを使用する.
this.ddl_BulkStock.ClearSelection();
今日編集ページが表示されます.DropDownListで複数の項目を選択できません.
原因をよく探してみると、
5
5-10
11-50
ページを編集してデータを再バインドするコード:
for (int i = 0; i < this.Com_Ygrenshu.Items.Count; i++)
{
Com_Ygrenshu.Items[i].Selected = false;
// : DropDownList
if (Com_Ygrenshu.Items[i].Value.Trim() == ds.Tables[0].Rows[0]["Empl_Num"].ToString().Trim())
{
Com_Ygrenshu.Items[i].Selected = true;
}
}
理由は:あなたのDropDownListには2つのSelected=“True”オプションがあるので、エラーです!
#dropdownlistコントロール