抑制标签中的单位显示

时间:2016-11-21 13:19:18

标签: asp.net label

我通常使用此语法在标签中显示单位符号:ej。 5' 230€

<asp:Label runat="server" Text='<%# Eval("TotalAmount","{0:#,###.##}&nbsp;€") %>' id="LabelTotal"/>

丑陋的是,即使值为null或为空,也会显示符号。然后我希望这个符号被压制。

任何人都知道如何做到这一点? 马丁

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码段

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

如果要评估的值可以包含null值,则需要在转换前先检查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"/>