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

时间:2023-07-23 22:15:27 

示例代码:


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

标签:DropDownList,选择多个项
0
投稿

猜你喜欢

  • pytorch多GPU并行运算的实现

    2022-01-09 22:01:06
  • SQL Server中实现二进制与字符类型之间的数据转换

    2023-07-17 21:34:47
  • 基于layer.js实现收货地址弹框选择然后返回相应的地址信息

    2024-05-08 09:32:22
  • linux 下python多线程递归复制文件夹及文件夹中的文件

    2021-06-28 03:27:44
  • 如何确定Oracle数据库表重复的记录

    2010-07-26 13:23:00
  • Python可视化程序调用流程解析

    2022-07-18 15:53:07
  • Python编程使用DRF实现一次性验证码OTP

    2021-07-30 00:25:26
  • JS实现canvas简单小画板功能

    2023-08-21 07:40:49
  • ACCESS数据库遇日文时内存溢出的最简单处理办法

    2009-07-09 14:04:00
  • Python callable()函数用法实例分析

    2021-12-14 00:28:52
  • numpy中索引和切片详解

    2022-06-07 16:19:05
  • ORACLE 常用的SQL语法和数据对象

    2009-02-26 10:58:00
  • 解决pytorch DataLoader num_workers出现的问题

    2022-10-22 06:34:38
  • WINDOWS下安装MYSQL教程详解

    2024-01-22 17:20:34
  • ASP编程中的常见问题

    2007-09-20 13:32:00
  • Python实现带图形界面的炸金花游戏(升级版)

    2023-06-27 08:35:20
  • asp随机数 随机产生N位由数字和字母组成的密码

    2011-03-10 10:47:00
  • Python编码时应该注意的几个情况

    2021-03-15 20:59:54
  • Python黑魔法之metaclass详情

    2022-09-16 00:38:56
  • docker django无法访问redis容器的解决方法

    2021-10-05 05:48:22
  • asp之家 网络编程 m.aspxhome.com