• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
示例代码:
复制代码 代码如下:

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ToString()使用方法汇总(c#)发布时间:2022-02-05
下一篇:
asp.net中使用自定义控件的方式实现一个分页控件的代码发布时间:2022-02-05
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap