我有一个转发器。转发器中的一个项目是标签。此标签应显示TaxRate值。我可以使用以下标记来完成此操作。
<asp:Label ID="lblTaxRate" runat="server" Text = ' <%# Eval("TaxRate") %>'></asp:Label>
现在,我需要在税率值之前添加$
符号。我们怎样才能使用ASP.Net标记呢?
注意:预计不会使用javascritpt解决方案。
注意:我不能用任何其他控件替换标签或删除标签
答案 0 :(得分:2)
答案 1 :(得分:2)
这应该这样做:
<asp:Label ID="lblTaxRate" runat="server" Text = ' <%# Eval("TaxRate", "${0}") %>'></asp:Label>
答案 2 :(得分:1)
感谢@nunespascal回答。
<asp:Label ID="lblTaxRate" runat="server" Text = '<%# String.IsNullOrEmpty(Convert.ToString(Eval("TaxRate"))) == true ? "" : Eval("TaxRate", "${0}")%> ' > </asp:Label>
<强>改进强>
<%# String.Format("{0:C}", Eval("Amount") ) %>
或
<%# ((double)Eval("Amount")).ToString("C") %>
答案 3 :(得分:1)
很多年后,在处理一些遗留代码时,我遇到了类似的问题。 Eval格式的重载也可以用于任何自定义字符串。
在我的情况下:
//Displayed regardless there is a value to evaluate or not.
<%#Eval("ContractLength") + " Years" %>
//Displayed only when there is a value to evaluate.
<%#Eval("ContractLength","{0} Years") %>
根据您的情况:
//Displayed regardless there is a value to evaluate or not.
<%#"$" + Eval("TaxRate") %>
//Displayed only when there is a value to evaluate.
<%#Eval("TaxRate","${0}") %>
答案 4 :(得分:0)
这段代码应该可以使用
<%#"$" + Eval("TaxRate") %>'>
答案 5 :(得分:0)
这可行,并考虑了货币的文化差异
'<%# Eval("TaxRate","{0:C2}") %>'