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

Page_Load イベントなど、コード ビハインドで隠しフィールドの値を設定する必要があります。

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

これを試してください:

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

それはレンダリングします:

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

非表示フィールドの場合は、testProperty を文字列にキャストする必要がある場合があります。サーバーで testProperty の文字列値を使用する場合は、testProperty.ToString() を常に使用できます。

次のコードを試してください:

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

詳細については、この質問を参照してください。

于 2013-01-16T16:21:03.500 に答える