如何使用tr来应用DRY

P.B*_*key 2 razor asp.net-mvc-3

如何用Razor写下以下声明?

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

Razor生气,Intellisense破产.

所以我想我的包裹tr's<text>

if (isOddRow)
{
  <text><tr class="PadColumns"></text>
}
Run Code Online (Sandbox Code Playgroud)

...导致运行时解析器错误tr,没有匹配的开始标记.

我想避免申请DRY

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

Bra*_*don 7

为什么不做这样的事情呢?将if语句放在class属性中.如果它是假的,它会打印出AlternateRow,否则它什么都没打印出来.

<tr class="PadColumns @(isOddRow ? "" : "AlternateRow")">
Run Code Online (Sandbox Code Playgroud)