我有一个ASP.NET页面,我在后面的代码中定义了一个属性,如下所示:
public int testProperty { get; set; }
在我的页面中,我定义了一个隐藏字段,并希望使用内联服务器代码设置值,如下所示:
<asp:HiddenField ID="hftestProperty" runat="server" Value="<%= testProperty.ToString() %>" />
我遇到的问题是,当控件在浏览器中呈现时,它会以我定义的方式呈现值:
<input type="hidden" name="hftestProperty" value="<%= testProperty.ToString() %>">
知道为什么会这样吗?
答案 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.