我正在调用一个Java脚本函数,因为我传递了隐藏字段的值,我希望在服务器端使用该隐藏字段,但隐藏字段的值为null。
客户端功能
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
答案 0 :(得分:1)
我正在使用带有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();
答案 1 :(得分:0)
您必须为隐藏字段设置runat="server"
属性才能在您发布的服务器端代码中访问它。
像
这样的东西HTML
<input type="hidden" id="hidTest" runat="server" />
服务器端代码
hidTest.Value;