我正在调用一个 Java 脚本函数,因为我正在传递隐藏字段的值,我想在服务器端使用该隐藏字段,但隐藏字段的值为空。
客户端函数
function getDetails()
{
document.forms[0].HdnNode.value=tree_selected_id; //HTML Hidden Field.
str="Cmp_12";
str_array=str.split("_");
var str_array1=str_array[0];
var str_array2=str_array[1];
document.getElementById("<%=HiddenNodeId.ClientId %>").value=str_array1;
document.getElementById("<%=HiddenTreeId.ClientId %>").value=str_array2;
}
服务器端函数
Public Sub InsertNodes(ByVal NodeId As String)
Dim objErrorObj As New ErrorObj
Dim ParentID As String
ParentID = HiddenNodeParent.Value
NodeId = HiddenNodeId.Value
Dim NodeIDTree As String
NodeIDTree = HiddenTreeId.Value
End Sub
最佳答案
我在 UpdatePanels 中使用隐藏字段(隐藏字段必须发送回服务器才能在部分回发中使用它),您可以尝试设置 EnableViewState = true(整个页面回发)。
aspx:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load" UpdateMode="Conditional" ChildrenAsTriggers="True">
<ContentTemplate>
<asp:HiddenField runat="server" ID="LinesBack" value="0"/>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="10" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<img id="spinner" alt="spinner" src="../Pictures/spinner_30x30.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
<div id="Back" class="NewresultPanel" runat="server" ></div>
</ContentTemplate>
</asp:UpdatePanel>
html:
var a = document.getElementById('<%= LinesBack.ClientID %>').value;
CS:
LinesBack.Value = CountRows.ToString();
关于javascript - 在服务器端获取隐藏字段的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040816/