2013-04-30 32 views
1

我使用的String.Format來格式化Razor視圖內我的模型值,但它並沒有給出期望的結果Asp.net MVC Razor視圖的String.Format似乎並不工作

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

應該導致爲05

如果我使用下面這讓我產生而不是從模型

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

有人有任何想法或同樣的經歷?

+0

嘗試使用{0}刪除{0:00} – 2013-04-30 14:32:12

+1

什麼類型的「範圍」? – 2013-04-30 14:34:02

+0

這只是模型的一個屬性。 – Pamma 2013-04-30 15:34:31

回答

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,現在可以應用正確的格式。

+0

感謝namesv這是確切的解釋 – Pamma 2013-04-30 15:33:48