在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
示例代码: 复制代码 代码如下: 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控件 |
请发表评论