我有一个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%>" />