2013-09-16 50 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设置值。