Asp.net mvc razor查看string.format似乎不起作用

时间:2013-04-30 14:28:59

标签: asp.net asp.net-mvc-4

我正在使用string.format在razor视图中格式化我的模型值,但它没有提供所需的结果

@string.Format("{0:00}", Model.Range == null ? "" : Model.Range.ToString())

应该导致05

如果我在下面使用它会给我结果但不会从模型

@string.Format("{0:00}", 5)

有人有任何想法或相同的经历吗?

1 个答案:

答案 0 :(得分:5)

如果Model.Range是数字类型,那么您需要写:

@string.Format("{0:00}", Model.Range == null ? "" : Model.Range)

因为Model.Range.ToString()已将Range转换为字符串,因此无法应用数字格式,因为它不再是数字。

顺便说一句,string.Format处理空参数,所以只需编写:

@string.Format("{0:00}", Model.Range)

如果Model.Range不是数字但是Model.Range.ToString(),您会在字符串表示中获得一个数字,那么您需要先将其转换为数字(例如使用int.Parse或其他变体)然后你可以将数字传递给string.Format,现在可以应用正确的格式。