ASP:带有Eval和3个部分的格式编号

时间:2013-10-02 13:13:59

标签: asp.net numbers format eval

我有一个带有标签的ListView,我在其中放了一个数字。正常格式化将是这样的:

Text='<%# Eval("JustaNumber", "{0:#,##0.00}")%>

但是...

我想要一个基于'JustaNumber'值的不同格式。我想在正数中包含符号加号,为负数包含减号,零则为零。 我认为这可以使用3段格式的普通格式,但不,它没有。我只得到第一种格式(总是带加号)。

Text='<%# Eval("JustaNumber", "{0:+ #,##0.00;(- #,##0.00);(#,##0.00)}")%>

我忽视了一些事情,也许我的知识还不够,但我被困在这里......

有人可以给我一个提示,在哪里寻找解决方案吗?在互联网上做了很多搜索,但答案都是1节格式。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用此方法以任何方式格式化文本。每当我的格式化超出非常简单的格式化或计算时,我通常会采用这种方法。是的,您可以在方法中访问Eval(),只要它作为数据绑定操作的一部分被调用。

这似乎有效。 Eval()可能只支持string.Format的子集,但我没有测试您的原始解决方案。

<asp:label runat="server" Text='<%# GetText()")%>

protected string GetText()
{
    return string.Format("0:+ #,##0.00;(- #,##0.00);(#,##0.00)",
        Eval("JustaNumber"));
}