2011-08-15 53 views
2

如何使用Razor書寫以下語句?如何在tr上應用DRY

@{ 
    if (isOddRow) 
    { 
     <tr class="PadColumns"> 
    } 
    else 
    { 
     <tr class="PadColumns AlternateRow"> 
    } 
    //then... 
    <td>content</td> 
    </tr> 
    } 

剃刀生氣和Intellisense蕭條。

所以我試圖在<text>

if (isOddRow) 
{ 
    <text><tr class="PadColumns"></text> 
} 

...這導致關於tr沒有匹配的開始標籤的運行時分析程序錯誤包裹我tr's

我想避免

if (isOddRow) 
    { 
     <tr class="PadColumns"> 
      //then... 
    <td>content</td> 
    </tr> 
    } 
    else 
    { 
     <tr class="PadColumns AlternateRow"> 
    //then... 
    <td>content</td> 
    </tr> 
    } 

回答

7

爲什麼不只是做這樣的事情上幹?將if語句放入類屬性中。如果它是假的,它將打印出AlternateRow,否則它不打印任何東西。

<tr class="PadColumns @(isOddRow ? "" : "AlternateRow")"> 
+1

+1:我一直這樣做。 –

+1

因爲我沒有想到:D。實際上,我不知道你可以用這種方式將C#拖放到代碼中。 +1 –