0

我已经设置HiddenField了值jQuery,我想HiddenField在事件中使用这个值page_init,但每次我得到空白值。会有什么问题。

$('#hfKitchenID').val(kitchenid);

protected void Page_Init(object sender, EventArgs e)
{
    string value = hfKitchenID.Value;
}
4

2 回答 2

1

您无法获取隐藏字段Page_init的值,因为隐藏字段的值保存在 中ViewState,并且ViewState在 上无法访问Page_Init

在页面生命周期中,LoadViewState事件发生在Init事件之后。

于 2014-12-02T12:12:23.963 回答
0

建议大家在Page Init事件中使用Request来获取hiddenfield控件的值。

请检查下面的示例,希望它可以帮助您。

1.页面中的代码(.aspx):

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
        <title></title>
        <script type="text/javascript" language="javascript">
            function SetValueToHidden() {
                var hidden = document.getElementById("HiddenField1");
                var text = document.getElementById("TextBox1");
                hidden.value = text.value;
            }
        </script> </head> <body>
        <form id="form1" runat="server">
        <div>
            Input text:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
            <asp:Button ID="Button1" runat="server" Text="ShowText" OnClientClick="SetValueToHidden()" />
            <asp:HiddenField ID="HiddenField1" runat="server" />
        </div>
        </form> 
</body> 
</html>

2.页面中的代码(.cs):

protected void Page_Init(object sender, EventArgs e)
    {
        if (Request["HiddenField1"] != null)
        {
            Response.Write(Request["HiddenField1"].ToString());
        }
    }
于 2015-03-26T06:28:59.757 回答