【问题标题】:Reading the dynamically changed value of an HtmlInputHidden in ASP.NET读取隐藏在 ASP.NET 中的 Html 输入的动态变化值
【发布时间】:2010-09-15 17:13:25
【问题描述】:

我得到了一个带有 HtmlInputHidden 字段的简单页面。我使用 javascript 来更新该值,并且在回发页面时我想读取该 HtmlInputHidden 字段的值。

该 HtmlInputHidden 字段的 Value 属性在回发时是默认值(它在创建页面时具有的值,而不是通过 javascript 反映的值)。

我还尝试使用 ScriptManager.RegisterHiddenField(Page, "MyHtmlImputHiddenField", "initialvalue") 注册 HtmlInputHidden 字段,但它仍然只能让我读取“初始值”,即使我(通过 javascript)可以检查该值是否具有改变了。

【问题讨论】:

    标签: asp.net javascript controls


    【解决方案1】:

    输入字段需要在表单中。还要确保 ViewState 已启用。

    【讨论】:

    • 谢谢 - 我忘记了只有某些控件(没有 HTML 控件)的 enableviewstate 默认设置为 true :)
    【解决方案2】:

    您最好使用 asp.net HiddenField 控件

    <asp:HiddenField id="myHiddenField" runat="server" />
    

    然后您将能够在页面处理时从后面的代码中读取值。

    string value = myHiddenField.Value; // retrieve the value in hidden field
    

    参考; HiddenField Web Server Control Overview

    • 请注意客户端(即当您从 javascript 访问时)控件的 DOM 名称 (control.ClientID),因为它可能会根据您在页面上声明控件的位置而改变。

    【讨论】:

    • 你发的好帖子。我实际上做了以上所有但我忘了设置 enableviewstate="true" ;)
    • 想一想——我实际上并没有使用 asp:HiddenField——我使用了 HTMLInputHidden,它不是一个“纯”的 asp.net 控件。我相信您的示例也可以,因为所有(afaik?asp:controls 默认情况下都将 enableviewstate 设置为 true)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 2013-07-16
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多