asp.net中不能在DropDownList中选择多个项 原因分析及解决方法
asp.net中不能在DropDownList中选择多个项 原因分析及解决方法
发布时间:2016-12-29 来源:查字典编辑
摘要:示例代码:复制代码代码如下:BulkStockBllbll=newBulkStockBll();DataSetds=bll.GetBulkS...

示例代码:

复制代码 代码如下:

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;//第二次选择!

******************************

出现了两次选择,所以报错。

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();

今天在编辑页面出现:不能在 DropDownList 中选择多个项。

仔细的找了原因发现:

复制代码 代码如下:

<asp:DropDownList ID="Com_Ygrenshu" runat="server">

<asp:ListItem Value="0">请选择人数</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>

我在编辑页面进行重新绑定数据的代码:

复制代码 代码如下:

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控件

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类