2012-12-06 28 views
1

我有一個簡單的領域我的觀點一個顯示和使用這個代碼我的專欄之一:有沒有辦法將一個CSS類動態分配給MVC4 Html.Encode條目?

<p class="points-total" >@Html.Encode(ViewData["pointsTotal"])</p> 

這是關於pointsTotal我控制器代碼:

pointsTotal = occurrences.Sum(o => o.Points); 
ViewData["pointsTotal"] = pointsTotal.ToString(); 

我想根據pointsTotal的值爲此行分配不同的類。例如,如果總數超過50分,我想將其分配給points-total-fifty

我知道我可以做這做這在其他HTML傭工像DisplayFor:

<p class="@(item.Total > 50 ? "points-total-fifty" : 
     "points-total")">@Html.DisplayFor(modelItem => item.Total)</p> 

有沒有辦法做的了Html.Encode助手是一回事嗎?

回答

2

實際上,您爲第二個示例放置的代碼也可以與Html.Encode幫助程序一起使用,因爲您正在設計<p>元素。例如:

@{ 
    string cssClass = "points-total"; 
    int? total = ViewData["pointsTotal"] as int?; 

    if (total.HasValue && total > 50) 
    { 
     cssClass = "points-total-fifty"; 
    } 
} 
<p class="@cssClass" >@Html.Encode(ViewData["pointsTotal"])</p> 
+0

由於某些原因,我不得不使用Convert.ToInt32(ViewData [「pointsTotal」]);'而不是使用字符串,但它的效果很好。謝謝! – Splendor

+0

很高興這是有益的! –

相關問題