2014-08-30 69 views
0

我在Razor引擎的MVC4 ASP.Net中有以下代碼,但是對於'tr'元素嵌套if有一些問題。當嵌套的Razor語句存在時,無法使Razor語法工作

問題:如果變量'i'是偶數,並且如果變量'i'是奇數,那麼發射字符串「pink」會發射字符串「white」會是什麼?我想使用Razor語法來做到這一點,而不是使用tr的偶數CSS樣式。

@{ 
     int i = 0; 
    } 
    @foreach (Product p in Model) 
    { 
     i++; 

     <tr style="background-color:@if(i%2==0){"pink"} else { "white"})"> 
      <td>@p.Id</td> 
      <td style="text-align:left;">@p.Name</td> 
      <td style="text-align:left;">@p.Description</td> 
      <td>@p.Price</td> 
      <td>@p.UnitsInStock</td> 
     </tr> 
    } 

回答

1
@(i % 2 == 0 ? "pink" : "white") 
+0

它給了我一個錯誤。 – Sunil 2014-08-30 03:23:55

+1

我用一個等號代替了一個雙等號。再試一次。 – 2014-08-30 03:25:01

+0

是的,它現在有效。謝謝。我可以在這裏標記2個答案嗎? – Sunil 2014-08-30 03:26:41

1
@{ 
    int i = 0; 
    var bc = "white"; 
} 
@foreach (Product p in Model) 
{ 
    if (i % 2 == 0) 
    { 
    bc= "pink"; 
    } 
    <tr style="background-color:@bc" ...> 

}

+0

這是有效的。謝謝。 – Sunil 2014-08-30 03:25:01