2016-11-21 9 views
0

通常、このシンタックスを使用してラベルにユニットシンボルを表示します:ej。 5'230€ラベル内のユニット表示を抑制する

醜いことは、値がnullでも空であっても表示されるということです。そして、私はそのシンボルを抑圧したいと思っています。

どのようにすればいいですか? 評価される値がnull値を含めることができる場合マーティン

+0

なぜコードビハインドを使用しないのですか? –

+0

スニペットでこれを解決できない場合はおそらく私はします。このラベルはGridViewで使用され、OnRowDataBoundイベントは既にコードでパックされているので、マークアップではむしろそのようになります – Barnabeck

答えて

1

は、あなたが次のスニペット

<asp:Label runat="server" Text='<%# Convert.ToDecimal(Eval("TotalAmount")) > 0 ? string.Format("{0:C}", Convert.ToDecimal(Eval("TotalAmount"))) : string.Empty %>' id="LabelTotal"/> 

を使用することができ、あなたは、変換する前に、まずIsNullOrEmptyをチェックする必要があります。

<asp:Label runat="server" Text='<%# !string.IsNullOrEmpty(Eval("TotalAmount").ToString()) ? Convert.ToDecimal(Eval("TotalAmount")) > 0 ? string.Format("{0:C}", Convert.ToDecimal(Eval("TotalAmount"))) : string.Empty : string.Empty %>' id="Label1"/> 
+0

素晴らしい、それは完璧に機能します!ありがとうございました。 – Barnabeck

+0

しかし、それは負の数に対しては機能しません。私はConvert.ToDecimal(Eval( "LineAmount"))!= 0を試みましたが、それはスローされます:オブジェクトはDBNullから他の型にキャストできません。 – Barnabeck

+0

負の値はい、NULLの値はありません。これらの値が 'null'でもかまいませんが、十進数に変換する前に' IsNullOrEmpty'の検証が必要です。 update – VDWWD

関連する問題