2013-09-16 46 views
1

我正在使用下面的代碼將值分配給隱藏的控件。但在代碼後面,我無法獲取隱藏控件的值。請幫助我得到這個。我嘗試了更多時間。使用C獲取onload隱藏字段值#

Script 
======= 
<script type="text/javascript"> 
     function load_value() { 
      var val = document.getElementById('<%= hf_xml.ClientID %>'); 
      val.value= "hai";//Whatever i want 
      alert(val.value);//alert message show with text hai 
     } 
     window.onload = load_value; 
    </script> 

<asp:HiddenField ID="hf_xml" runat="server" /> 

Code Behind 
=========== 

protected void Page_Load(object sender, EventArgs e) 
{ 
    string value = hf_xml.Value;//Always Empty 
} 
+0

更改'val.value',而不是'val.innerHTML'。 –

回答

1

你不應該在input控制

使用value使用innerHTML代替

var val = document.getElementById('<%= hf_xml.ClientID %>'); 
val.value = "hai";//Whatever i want 
+0

我用過,但我不明白 – user2176150

+0

最新錯誤,檢查<%= hf_xml.ClientID%>的輸出 – Shadow

+0

這裏沒有錯誤。但在頁面加載代碼後,我無法獲得hf_xml值。它總是返回null – user2176150

0

你想獲得張貼到服務器之前的價值?意味着你不能發佈到服務器之前訪問值(上按一下按鈕或者一些服務器端的事件意味着)

把一個ASP:按鈕的形式,點擊按鈕後檢查值

2

沒有什麼真正缺少/在您的代碼中不正確。嘗試瞭解發生的事件的順序。

Window.Onload預計當網頁加載完成,以得到執行。鑑於頁面仍在處理中,預計Page_Load將在早期被調用。

這確實發生了。如使用調試符號驗證的,Page_Load將首先調用,window.onload方法將在稍後調用。這就是爲什麼你的HiddenField顯示空值。

此外,正如所料,第一次請求頁面時,HiddenField值將爲空,但在下一次回發之後,將爲此HiddenField設置值。