2013-11-22 24 views
0

我有一個對象的ICollection,每個對象都包含一個十進制類型的高級屬性。在我看來,我有以下的代碼,其中一個表被填充了優質物業不顯示轉換的十進制數的標籤

@foreach (var section in Model.PolicySectionCollection) 
{ 
     <tr> 
      <td> 
       @Html.Label(section.Premium.ToString()) 
      </td> 
     </tr> 
} 

使用快速查看檢查

section.Premium.ToString() 

,揭示了價值,例如「12500.00」

檢查

@Html.Label(section.Premium.ToString()) 

使用快速查看,顯示生成代碼是

<label for="">00</label> 

所以我所有的十進制數字都顯示爲00.是否有任何理由呢?

+1

我相信參數被視爲財產。因此,擁有「12500.00」屬性的名稱是「00」,這是不正確的。嘗試@ Html.Raw而不是 – PugFugly

+0

謝謝@PugFugly,這工作100%,這個問題讓我在過去的2個小時裏感到沮喪。如果你想發表你的評論作爲答案,我會將其標記爲正確的。非常感謝你! – user65439

回答

3
@Html.Label 

將產生提供的屬性的標籤。在你的情況下,你傳遞一個值作爲屬性名稱。所以它將「12500.00」視爲您要顯示的屬性的名稱。當然,這不是你打算做的,你簡單的想顯示給定屬性的值。

嘗試

@Html.Raw 

..代替。你想要做的就是打印@ Html.Raw將爲你做的實際值。

0
@Html.Label(Convert.ToInt32(section.Premium).ToString())

或爲十進制值

 

 <label for=''> @section.Premium</label>