2011-12-23 71 views
3

我有一個局部視圖,我正在創建將特殊格式應用於某些十進​​制數字。下面是部分視圖(「_美元」):這個局部視圖爲什麼會返回空白?

@model decimal? 
@if (Model.HasValue) 
{ Html.Display(Model.Value.ToString("$#,0.00;$#,0.00-;0.00")); } 
else { Html.Display("0.00"); } 

這裏是代碼調用行:

<td style="text-align:right;">@Html.DisplayFor(modelItem => item.TotalBill, "_Dollar")</td> 

可能什麼對任何想法?

更新:我應該添加,當運行調試,部分視圖被調用,並運行,因爲我期望它。對我來說,似乎問題在於我如何使用Html.Display

更新:我明白基於@ Gaby的答案爲什麼我以前的試驗不起作用。我做了更改,但仍然無效。在我看來,我的局部視圖有@Html.Partial("_Dollar",item.TotalBill)我現在有:

@model decimal? 
@if (Model.HasValue) 
{ Html.Raw(Model.Value.ToString("$#,0.00;$#,0.00-;0.00")); } 
else { Html.Raw("0.00"); } 
+0

Whts錯使用'@ Html.Partial(「_ Dollar」)'。你可以在那裏聲明部分模型。等忘記 – Doomsknight 2012-01-03 16:39:24

+0

我忘了部分選項,但仍然無法正常工作。 – 2012-01-03 16:58:40

回答

1

Html.Display不會做你認爲它..閱讀http://msdn.microsoft.com/en-us/library/ee310180%28v=VS.98%29.aspx

您應該使用

@model decimal? 
@if (Model.HasValue) 
{ @Html.Raw(Model.Value.ToString("$#,0.00;$#,0.00-;0.00")); } 
else { @Html.Raw("0.00"); } 
+0

正是我想知道的。當我第三次回去工作時,我將不得不嘗試。 – 2011-12-25 15:38:00

+0

我做了改變,但它仍然不起作用。 – 2012-01-03 16:25:28

+0

找出問題所在。我在'Html.Raw'之前添加了'@',它工作正常。 – 2012-01-03 17:10:14