0

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

    public int testProperty { get; set; }

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

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

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

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

知道为什么会这样吗?

4

3 回答 3

1

试试这个:

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

它呈现:

<input id="hftestProperty" type="hidden" value="0" />
于 2013-01-16T16:03:09.243 回答
1

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

protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
     hftestProperty.Value = testProperty.ToString();
  }
}
于 2013-01-16T16:11:28.640 回答
0

您可能需要将 testProperty 转换为隐藏字段的字符串。如果您要在服务器上使用 testProperty 的字符串值,那么 testProperty.ToString() 将始终可供您使用。

试试下面的代码:

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

有关更多信息,您可能会看到这个问题。

于 2013-01-16T16:21:03.500 回答