detailsview中的dropdownlist:有一个无效 SelectedValue,因为它不在项目列表中
我有一个产品表,一个类别表,分别如下(已简化):
产品表:Products:id,prodname(产品名),prodcat(产品类别)
类别表:catalogs:id,catalog(类别)
我希望在页面里的detailsview完成产品表的信息输入,其中字段prodcat在进行编辑和插入时,使用dropdownlist,从类别表中取现成的值,在完成编辑后保存时,保存新的值到产品表。
我的操作方法是:
1)拖两个sqldatasource1,sqldatasource2到页面,配制其分别对应产品表和类别表。
2)拖一个detailsview1到页面,配其数据源为sqldatasource1,启用编辑和插入。
3)编辑detailsview1字段,选prodcat(产品类),将其变为模板。
4)编辑模板,选edititemtemplate和insertitemtemplate,均做如下处理:将其原有的textbox删除,拖入dropdownlist1和dropdownlist2,选其数据源为sqldatasource2,启用autopostback。其 DataTextField 和 DataValueField 均为类别表的catalog(类别),再设置dropdownlist1、2的databindings,设其selectedvalue为字段绑定:prodcat。选中双向数据绑定。
5)试运行,发现在点击点击“编辑”功能按钮时,报错:dropdownlist:有一个无效 SelectedValue,因为它不在项目列表中。
我想请大家给我一个完整、标准、可行的方案,解决上述问题,并在更新时,实现新数据保存到产品表中。
相关推荐
DropDownList等列表类控件的SelectedValue值的安全绑定
在ASP.NET 2.0 网站页面的开发过程中,经常需要把DropDownList等列表类控件的SelectedValue值设置为一个从数据库或其他地方读取出来的值。 最简单的办法就是直接进行指定: DropDownList1.SelectedValue = "中国"; 但有的时候如果DropDownList1中没有"中国"这一项的话,赋值就会出现异常,这是我们所不愿意看到的,那么有没有一种安全的绑定方法来避免出现这样的情况呢?当然是有的,看完我传的资料,相信一定能使你有所收获,我也是网上搜集的呢~~
DetailsView控件里的Dropdownlist控件添加点击事件
DetailsView控件里的Dropdownlist控件添加点击事件代码与分析
DropDownList绑定选择数据报错提示异常解决方案
抛出的异常信息:异常详细信息: System.ArgumentOutOfRangeException: “ddlTotalCostDiscount ”有一个无效 SelectedValue,因为它不在项目列表中。 原先给DropDownList这样赋值: this.ddlTotalCostDiscount.SelectedValue = obj.TotalCostDiscount.ToString(); 改成这样赋值: ddlTotalCostDiscount.SelectedIndex = ddlTotalCostDiscount.Items.IndexOf(ddlTotalCostDisc
ASP dropdownlist缺少值错误
'DropDownList'的SelectedValue无效,因为它在项目列表中不存在。
asp.net DropDownList 三级联动下拉菜单实现代码
asp.net DropDownList 三级联动下拉菜单效果代码,需要的朋友可以参考下。


