繁体   English   中英

使用C#获取onload隐藏字段值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM