2012-10-25 37 views
1

我有一個視圖,它有一個列表,我想根據視圖模型中的變量向特定的列表項添加一個類。在基於剃刀變量的視圖中添加元素屬性

<ul> 
    <li>List Item 1</li> 
    <li>List Item 2</li> 
    <li>List Item 3</li> 
</ul> 

該變量可以是任何東西。目前它是一個整數。以下是我現在擁有的,但我認爲這不是最簡單的方法。

string[] listClasses = new string[3]; 
int? selectedListElement= (int?)ViewData["SelectedListElement"]; 
if(tabNumber.HasValue) 
{ 
    tabClasses[tabNumber.Value] = "selected"; 
} 
<li class="@listClasses[0]">List Item 1</li> 
<li class="@listClasses[1]">List Item 2</li> 
<li class="@listClasses[2]">List Item 3</li> 

回答

2

爲什麼不把類名到您的視圖模型和使用條件屬性

Conditional HTML Attributes using Razor MVC3

+0

所以,你說添加3個變量對我視圖模型,並將其設置爲空或「選擇」 ,然後在視圖中執行

  • 列表項目1
  • ? – Michael

    +0

    這就是我最終做的。謝謝。它刪除了視圖中的任何邏輯。然後在viewModel上,我只是設置ViewData [「list」+ selected +「class」] =「selected」然後在視圖中,我設置每個列表有一個類屬性class =「@ ViewData [」list1class「]」等。如果viewdata爲null條件屬性保存我。謝謝 – Michael