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

 更新时间:2012年10月12日 00:11:23   作者:  
不能在 DropDownList 中选择多个项,在前一步操作的过程中,已经选择了某个Item
示例代码:
复制代码 代码如下:

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

相关文章

  • 在.ashx文件中获取cookies值实现代码

    在.ashx文件中获取cookies值实现代码

    .ashx文件中获取cookies值对于一些高手们就不多说了,至于一些小白们还是有必要多多学习啊,好了话不多说,看代码,感兴趣的你可不要错过了哈
    2013-02-02
  • ASP.net基础知识之常见错误分析

    ASP.net基础知识之常见错误分析

    ASP.net基础知识之常见错误分析...
    2007-07-07
  • ASP.NET(AJAX+JSON)实现对象调用

    ASP.NET(AJAX+JSON)实现对象调用

    最近开始学习ASP.NET AJAX 搞了两天学了点皮毛,贴点代码 日后方便自己查看.
    2010-01-01
  • Razor模板引擎简单介绍

    Razor模板引擎简单介绍

    这篇文章主要为大家详细介绍了Razor模板引擎的简单资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • asp.net操作ini文件示例

    asp.net操作ini文件示例

    这篇文章主要介绍了asp.net 操作INI文件的读写,读写操作本地ini配置文件的方法,需要的朋友可以参考下
    2014-02-02
  • asp.net 存储过程调用

    asp.net 存储过程调用

    调用存储过程,但无返回值 调用存储过程,返回普通值 调用存储过程,返回数据集的实现代码。
    2009-07-07
  • ASP.NET Core中如何使用表达式树创建URL详解

    ASP.NET Core中如何使用表达式树创建URL详解

    这篇文章主要给大家介绍了关于ASP.NET Core中如何使用表达式树创建URL的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • 浅谈ASP.NET常用数据绑定控件优劣总结

    浅谈ASP.NET常用数据绑定控件优劣总结

    这篇文章主要介绍了浅谈ASP.NET常用数据绑定控件优劣总结,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率。
    2016-12-12
  • asp.net 数据绑定时对数据列做个性化处理

    asp.net 数据绑定时对数据列做个性化处理

    asp.net 数据绑定时对数据列做个性化处理,需要的朋友可以参考下。
    2011-12-12
  • 对WPF中Expander控件美化

    对WPF中Expander控件美化

    这篇文章介绍了对WPF中Expander控件美化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01

最新评论