示例代碼:
復制代碼 代碼如下:
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;//第二次選擇!
******************************
出現(xiàn)了兩次選擇,所以報錯。
page load的時候,index0的Selected = true,你再選一個index1的Selected 也true了,就報錯。
不要用dropDownList.Items[x].Selected = true/false,推薦用dropDownList.SelectedIndex = x。
解決方法有兩個:
(1)在選擇某個選項時,不用上面的綠色代碼顯示方式,使用下面的代碼
this .ddl_BulkStock.SelectedIndex = ddl_BulkStock.Items.IndexOf(ddl_BulkStock.Items.FindByValue(infobulkstockid));
(2)在每次選擇某個選項前,使用ClearSelection操作。
this.ddl_BulkStock.ClearSelection();
今天在編輯頁面出現(xiàn):不能在 DropDownList 中選擇多個項。
仔細的找了原因發(fā)現(xiàn):
復制代碼 代碼如下:
asp:DropDownList ID="Com_Ygrenshu" runat="server" style="margin-left:8px;">
asp:ListItem Value="0">請選擇人數(shù)/asp:ListItem>
asp:ListItem Selected="True" Value="5">5人以下/asp:ListItem>
asp:ListItem Value="10">5-10 人/asp:ListItem>
asp:ListItem Value="50">11-50 人/asp:ListItem>
/asp:DropDownList>
我在編輯頁面進行重新綁定數(shù)據的代碼:
復制代碼 代碼如下:
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有兩個Selected="True" 選項,所以出錯!
#dropdownlist控件
您可能感興趣的文章:- 在dropDownList中實現(xiàn)既能輸入一個新值又能實現(xiàn)下拉選的代碼
- DropDownList 下拉框選擇改變促發(fā)事件和防全局刷新(推薦)
- DropDownList綁定選擇數(shù)據報錯提示異常解決方案
- 用javascript為DropDownList控件下拉式選擇添加一個Item至定義索引位置
- ASP.NET中DropDownList下拉框列表控件綁定數(shù)據的4種方法
- C#使用DropDownList綁定添加新數(shù)據的方法匯總
- asp.net DropDownList實現(xiàn)二級聯(lián)動效果
- DropDownList添加客戶端下拉事件操作
- DropDownList實現(xiàn)可輸入可選擇(兩種版本可選)