解決用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