使用 c# 获取加载隐藏字段值

本文关键字:字段 隐藏 加载 获取 使用 | 更新日期: 2023-09-27 18:31:24

我使用以下代码将值分配给隐藏控件。但是在代码隐藏中,我无法获取隐藏控件的值。请帮我得到这个。我尝试了更多的时间。

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
 }

使用 c# 获取加载隐藏字段值

您的代码中没有任何真正缺失/不正确的内容。尝试了解发生的事件的顺序。

Window.Onload 预计在页面完成加载时执行。而Page_Load预计将更早调用,因为页面仍在处理中。

这确实正在发生。使用调试符号进行验证时,首先调用Page_Load,稍后将调用window.onload方法。这就是您的HiddenField显示空值的原因。

此外,正如预期的那样,第一次请求页面时,隐藏字段值将为空,但在下次回发时,将为此隐藏字段设置值。

你不应该在input控件上使用innerHTML

请改用value

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

您是否试图在发布到服务器之前获取该值? 表示在发布到服务器之前无法访问该值(表示单击按钮或某些服务器端事件)

在窗体上放置一个 ASP:按钮,并在单击按钮后检查值