绑定DropDownList的代码如下:
Code
绑定成功, 但是为什么服务器端SelectValue会取不到值? 只能用Request.Form["area"]取得到.
其实asp。net 所谓的服务器的value是在后台生成好一套和前台对应的数据
然后根据前台返回的
匹配后台的数据 才能取value
你想想 asp。net 没有改html之内的东西吧
那么select标记在response里返回的是什么??
返回的就是一个value的值吧
但是为什么你可以通过text 或者value取到dropdownlist的值呢
这个就好象是response返回的是键值
其实在生成时候还有一套和这个键值相关的数据 例如text 页就是前台显示的innerhtml
然后通过这个匹配取道的
而不经过服务器 直接在本地加的
显然没有经历生成一套键值的过程
那服务器又怎么可能取得到
对于服务器端的DropDownList控件,也可以在前台获值,如下:
(1).取得DropDownList的索引值 i=document.all("DropDownList").selectedIndex;
(2).取得DropDownList的下拉框中的文本值:
ddlText=document.all("DropDownList").options[i].text;
或者:ddlText=document.all("DropDownList").options[i].value;
以前遇到过类似的问题,在前台绑定的控件在后台是不能直接获取值的,只能用Request.Form["area"]或Request["area"]方式获取
会不会你在页面的Load地方有对这个Dropdpwnlist的初始化工作!导致回传以后又被重置了
this.DropDownList1.DataTextField = "name";
this.DropDownList1.DataValueField = "id";
this.DropDownList1.DataSource = dt;
this.DropDownList1.DataBind();
dt是数据库表用这个试试
我现在也遇到这个问题,取值是搞定了。但是修改时在后台赋值,也有问题。