隐藏变量在回发后没有值

本文关键字:变量 隐藏 | 更新日期: 2023-09-27 18:08:39

我有以下内容

<input type="hidden" id="hdnField" name="hdnField"/>
Request.Form.Set("hdnField", x.ToString());

页面返回后,值不存在。

我是新手,任何帮助都会很感激。

隐藏变量在回发后没有值

来源:

您可以在页面类中定义属性,然后在代码中修改属性值:

    protected string HiddenFieldValue { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
            HiddenFieldValue = x.ToString();
        else
            HiddenFieldValue = x.ToString();
    }

然后像这样定义隐藏表单字段,这样它的值被设置为属性值:

    <input type='hidden' id='hdnField' value='<%=HiddenFieldValue %>' />

如果您只想在回发或非回发期间设置属性的值,您也可以添加条件:

    <input type='hidden' id='hdnField' value='<% if(IsPostBack) { %> <%=HiddenFieldValue%> <% } %>' />

您应该使用asp提供的asp:HiddenField标记,而不是使用基本的HTML输入。

<asp:HiddenField ID="hdnField" Value="" runat="server" ClientIDMode="Static" />

使用这个,你可以在c#中使用hdnField.Value和在jQuery中使用$('#hdnField').val()来读写值。