解决用JS修改服务器端控件值后在后台无法获取修改后值的问题
项目中有个小功能,在Js中修改一个服务器标签的值,如 document.getElementById("lblClothIndex").innerHTML = result;(比如由“1”修改成“2”),可是在后台通过this.lblClothIndex.Text获得的还是"1"这个老值。后来发现通过调用隐藏控件的方法可以获得最新值,代码如下:
1. 添加一个隐藏控件 <asp:HiddenField ID="HiddenField1" runat="server" /> 2. 用JS为服务器标签赋值的时候也给隐藏控件赋值 document.getElementById("HiddenField1").value = result; 3. 在后台通过 this.HiddenField1.Value代码获得最新值
原文:http://www.cnblogs.com/gossip/archive/2010/03/26/1697203.html
ASP.NET 无法获得JS修改过的值 一个select: <select id="DdName" name="DdName" runat="server" disabled="disabled" onchange="show(this)" > <option>请选择类别</option> </select> 一个LABLE: <asp:Label ID="lbName" runat="server" Text="Label"></asp:Label>
function show(a){ var sel=document.getElementById("<%=lbName.ClientID%>"); sel.innerHTML="<span style='font-size: 8pt;color:red;'>"+a.value+"</span>"; document.getElementById("hidd").value=sel.innerHTML; }
我要获得SELECT选中的值,不管是通过request.form["DdName"]还是通过赋值给隐藏域,后台都获取不到.怎么回事?问题补充:
select 通过JS XMLHTTP绑定的数据 第一,你的select是在客户端赋值,viewstate中并没有保存。服务端自然获取不到 第二,隐藏域你是用的什么控件?如果是hiddenfield,客户端赋值是可以在服务端获取到值的
原文:http://zhidao.baidu.com/question/292323835.html