使用内联服务器代码默认隐藏字段值



我有一个ASP。我在后面的代码中定义了一个属性,如下所示:

    public int testProperty { get; set; }

在我的页面中,我定义了一个隐藏字段,并希望使用内联服务器代码设置如下值:

<asp:HiddenField ID="hftestProperty" runat="server" Value="<%= testProperty.ToString() %>" />

我遇到的问题是,当控件在浏览器中呈现时,它呈现的值与我定义的值相同:

<input type="hidden" name="hftestProperty" value="<%= testProperty.ToString() %>">

知道为什么会这样吗?

试试这个:

<input id="hftestProperty" type="hidden" value="<%=testProperty.ToString()%>" />
它呈现

:

<input id="hftestProperty" type="hidden" value="0" />

您必须在后面的代码中设置隐藏字段的值,例如在Page_Load事件中:

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
     hftestProperty.Value = testProperty.ToString();
  }
}

对于隐藏字段,您可能需要将testProperty强制转换为string。如果你打算在服务器上使用testProperty的字符串值,那么testProperty. tostring()将始终对你可用。

尝试以下代码:

<input type="hidden" id="hftestProperty" value="<%= testProperty%>" />

最新更新