2012-09-13 125 views
1

我有一个中继器。转发器中的其中一项是标签。该标签应显示TaxRate值。我可以使用以下标记来完成此操作。使用ASP.Net标记Eval格式化(仅)

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

现在,我只需要在税率值前添加$迹象。我们如何才能使用ASP.Net标记来做到这一点?

注意:不会使用javascritpt的解决方案。

注:我不能与任何其他控制更换标签或摆脱标签

+0

孔不'<%# “$” +的eval( “将TaxRate”)%>'为你工作? – V4Vendetta

回答

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") %> 
2

尝试:

<%# DataBinder.Eval(Container.DataItem, "TaxRate", "{0:c}") %> 

(从here

+1

'$ <%#Eval(“TaxRate”)%>'不起作用... –

+0

删除那个。 – tomfanning

+2

:)无论如何,使用'.Eval'格式非常好! –

2

这应做到:

<asp:Label ID="lblTaxRate" runat="server" Text = ' <%# Eval("TaxRate", "${0}") %>'></asp:Label> 
0

这段代码应该可以工作

<%#"$" + Eval("TaxRate") %>'> 
+1

它为什么要工作?这是一个修辞问题,但重要的是请不要只发布一行代码并说“试试这个”。答案应该解释什么是错的,为什么你的代码修复了这个问题。 – psubsee2003