2

aspx ページに次のラベルがあるとします。

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings")%>' />

ラベルのテキストを通貨形式の文字列としてフォーマットする方法はありますか? 私はこのようなものを探しています:

<asp:Label ID="savings" runat="server" Text='<%# Eval("savings").ToString("C")%>' />

これを実行すると、次のようになります。

 No overload for method 'ToString' takes 1 arguments

コンパイル エラー。

コード ビハインドでこれを簡単に実行できることはわかっていますが、.aspx ドキュメントから実行できるかどうかを知りたいです。

4

4 に答える 4

9

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

<asp:Label ID="savings" runat="server" Text='<%# string.Format("{0:C}", Eval("savings"))%>' />
于 2012-07-20T15:52:56.653 に答える
2

文字列を扱っている場合は、このコードを試してください

<asp:Label ID="savings" runat="server" Text='<%# String.Format("{0:c}", Convert.ToDecimal(Eval("savings")))%>' />
于 2014-09-24T09:36:36.550 に答える
1

このToString(string)メソッドは数値型でのみ動作しますが、 をEval(string)返しますobject

次のように、拡張メソッドを呼び出す前に、結果を正しい型にキャストします。

<%# ((decimal)Eval("savings")).ToString("C") %>

于 2012-07-20T15:52:00.523 に答える