服务器之家

服务器之家 > 正文

asp.net中不能在DropDownList中选择多个项 原因分析及解决方法

时间:2019-10-08 09:59     来源/作者:asp.net开发网

示例代码: 

复制代码代码如下:


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" style="margin-left:8px;"> 
<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控件

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部