回发asp.net后隐藏变量没有值

时间:2014-06-14 05:26:44

标签: c# asp.net

我有以下

<input type="hidden" id="hdnField" name="hdnField"/>

Request.Form.Set("hdnField", x.ToString());

页面回发后,该值不存在。

我是新手,任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

<强> Source:

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

    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%> <% } %>' />

答案 1 :(得分:0)

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

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

使用此方法,您可以使用hdnField.Value在c#中读取值和写入值,而使用$('#hdnField').val()在jQuery中读取和写入值。