获取服务器端隐藏字段的空值

时间:2011-02-18 11:38:18

标签: javascript asp.net vb.net

我正在调用一个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

2 个答案:

答案 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;