selectedvalue无效 有一个无效 SelectedValue

有一个无效 SelectedValue――简介

在asp.net的listview中,我们有时会用到dropdownlist控件,来获取后台某代码列,供用户选择,同时需要将表单数据与dropdownlist控件进行绑定。但是如果获取的表单数据,并没有列表中的项,或者该数据本就为空。这时页面会报错,有一个无效 SelectedValue....很是恼人。原因是微软尚未处理的一个BUG,dropdownlist的元素中并不存在一个SelectedValue属性所指定的值,就是SelectedValue的值,在列表中查找不到,于是报错。

有一个无效 SelectedValue――方法/步骤

有一个无效 SelectedValue 1、

创建一个textbox控件,指定ID为xxx_save,xxx为dropdownlist的ID,这不是规则,是写代码的习惯而已。将该textbox的Visible属性设为false,它只作为存值控件。


有一个无效 SelectedValue 2、

给dropdownlist添加SkinID并指向textbox,同时给textbox添加SkinID指向dropdownlist。


有一个无效 SelectedValue 3、

给dropdownlist添加OnSelectedIndexChanged方法

给textbox添加OnDataBinding方法

如下

<asp:DropDownList ID="drop_list" runat="server"

SkinID="drop_list_save" OnSelectedIndexChanged="drop_list_onchange"

DataSourceID="bind_data"

DataTextField="text"

DataValueField="value">

</asp:DropDownList>

<asp:SqlDataSource ID="bind_data" runat="server"

ConnectionString="<%$ ConnectionStrings:dbname %>"

SelectCommand="SELECT * FROM [table]">

</asp:SqlDataSource>

selectedvalue无效 有一个无效 SelectedValue

<asp:TextBox ID="drop_list_save" runat="server" Visible="false" SkinID="drop_list" OnDataBinding="drop_list_onbinding" Text='<%#Bind("xxx") %>'>

</asp:TextBox>


有一个无效 SelectedValue 4、

在后台代码中添加两个方法

protected void drop_list_onchange(object sender, EventArgs e) {

DropDownList ddl = (DropDownList)sender;

TextBox tb = (TextBox)ddl.Parent.FindControl(ddl.SkinID);

tb.Text = ddl.SelectedValue;

}

protected void drop_list_onbinding(object sender, EventArgs e) {

TextBox tb = (TextBox)sender;

DropDownList ddl = (DropDownList)tb.Parent.FindControl(tb.SkinID);

try{

ddl.SelectedValue = tb.Text;

}catch(Exception){

}

}


有一个无效 SelectedValue 5、

如上方法的意思是将前台出现的BUG,在后台获取,并不予处理,这样就避免页面报错了。同时也实现了dropdownlist的数据与表单数据绑定。如果出现空值问题,页面会将dropdownlist的值置为列表第一项。问题解决!

  

爱华网本文地址 » http://www.aihuau.com/a/8104400103/262936.html

更多阅读

《我有一个梦想》的语言特色 我有一个梦想的手抄报

《我有一个梦想》的语言特色孟庆焕 柳发艳《语文教学与研究(综合天地)》2007年第11期1963年8月28日,在华盛顿特区一次25万人的集会上,美国黑人牧师、著名的黑人民权运动领导袖马丁·路德·金发表了著名的演说——《我有一个梦想》,

声明:《selectedvalue无效 有一个无效 SelectedValue》为网友知错就改分享!如侵犯到您的合法权益请联系我们删除