[英]Get onload hidden field value using c#
我正在使用以下代码将值分配给隐藏控件。但是在后面的代码中,我无法获取隐藏控件的值。 请帮我解决这个问题。我尝试了更多时间。
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
}
您的代码中没有真正丢失/错误的东西。 尝试了解发生的事件的顺序。
当Page完成加载时, Window.Onload有望被执行。 鉴于Page_Load
预计将在更早时被调用,因为Page仍在处理中。
这确实正在发生。 使用调试符号进行验证时,将首先调用Page_Load
再调用window.onload
方法。 这就是为什么您的HiddenField
显示空值的原因。
同样,正如预期的那样,第一次请求页面时,HiddenField值将为空,但是在下一次回发之后,将为此HiddenField设置Value。
您不应在input
控件上使用innerHTML
使用value
代替
var val = document.getElementById('<%= hf_xml.ClientID %>');
val.value = "hai";//Whatever i want
您是否要在发布到服务器之前获取值? 表示您无法在发布到服务器之前访问该值(意味着单击按钮或某些服务器端事件)
在表单上放置一个asp:button并单击按钮后检查值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.