2014-12-02 25 views
0

我已經設置HiddenFieldjQuery,我想在page_init事件中使用此HiddenField值,但每次我都會得到空白值。這將是什麼問題。如何獲得page_init中HiddenField的值?

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

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

爲什麼不** ** pageLoad的? – 2014-12-02 12:13:47

+0

我正在用'JSON'來附加html,所以在PageLoad中沒有意義,在某些情況下基於我從JSON得到的結果,我希望使用WebClientPrint來打印PDF。 – 2014-12-02 12:22:54

+0

http://stackoverflow.com/questions/12370217/asp-net-hidden-field-persistence-during-life-cycle – Pawan 2014-12-02 12:30:12

回答

1

你不能隱藏場對Page_init值,因爲隱藏字段的值保存在ViewState,並ViewState不上Page_Init訪問。

在頁面生命週期中,LoadViewState事件發生在Init事件之後。

+0

可能的重複,像我這樣的任何其他可能的解決方案,我存儲在'Session'中,並得到結果'Init'? – 2014-12-02 12:25:02

+0

是的,當然你可以存儲在Session中。 你能解釋一下你的情況嗎,以便我能更好地幫助你 – 2014-12-02 13:34:41

0

我想建議你請使用Page Init事件中的Request來獲取隱藏字段控件的值。

請檢查下面的示例,希望它可以幫助你。

1.Code頁面(的.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.Code頁面(的.cs):

protected void Page_Init(object sender, EventArgs e) 
    { 
     if (Request["HiddenField1"] != null) 
     { 
      Response.Write(Request["HiddenField1"].ToString()); 
     } 
    }