我通常使用此语法在标签中显示单位符号:ej。 5'230€抑制标签中的单位显示
<asp:Label runat="server" Text='<%# Eval("TotalAmount","{0:#,###.##} €") %>' id="LabelTotal"/>
丑陋的事情是,即使值为空或空值,也会显示符号。然后我想要这个符号被压制。
任何人有一个想法如何做到这一点? 马丁
我通常使用此语法在标签中显示单位符号:ej。 5'230€抑制标签中的单位显示
<asp:Label runat="server" Text='<%# Eval("TotalAmount","{0:#,###.##} €") %>' id="LabelTotal"/>
丑陋的事情是,即使值为空或空值,也会显示符号。然后我想要这个符号被压制。
任何人有一个想法如何做到这一点? 马丁
您可以使用下面的代码片段
<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"/>
为什么不使用代码隐藏? –
我可能会如果我不能用一个片段解决这个问题。这个标签在GridView中使用,并且OnRowDataBound事件已经包含了代码,所以我宁愿在标记中这样做。 – Barnabeck