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

时间:2013-01-16 14:46:33

标签: c# asp.net

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

    public int testProperty { get; set; }

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

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

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

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

知道为什么会这样吗?

3 个答案:

答案 0 :(得分:1)

试试这个:

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

渲染:

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您可能需要将testProperty强制转换为隐藏字段的字符串。如果您打算在Server使用testProperty的字符串值,那么testProperty.ToString()将始终可用。

请尝试以下代码:

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

有关详细信息,您可能会看到此question.