2012-07-26 48 views
1

我完全不熟悉ASP.net和MVC。我有一个foreach循环来创建一些信息行(显示为水平列表)。我想为每一行交替使用类名(黑暗与光明)。如何使用ASP.net MVC4就地输出条件信息?

我读过有关Response.Write()但是当我使用它似乎这个(在文档的<!DOCTYPE>高于顶立即)添加到输出的顶部:

darklightdarklightdarklightdarklightdark...

这是我到目前为止有:

@{ 
    // Dummy data. 
    for (int i = 1; i <= 20; i++) 
    { 
     <ul class="leader @{ Response.Write(i % 2 == 0 ? "light" : "dark"); }"> 
      <li class="rank">@i</li> 
      <li class="challenger"><img alt="Photo" src="~/Content/Textures/Photo/temp-face.jpg" /> James Winters</li> 
      <li class="date">01 Sept 2012</li> 
      <li class="venue">NSW - Woolloomooloo Bay Hotel</li> 
      <li class="points">2999</li> 
     </ul> 
    } 
} 

你会发现,我认为Response.Write()将以与PHP的echo()相同的方式工作。我应该做些什么呢? (请注意,还有其他方法可以实现我在这里做的工作,我主要以此为例来询问如何在HTML中就地输出信息,就像我试图的那样)。

这是通过Visual Studio 2012 RC的MVC4。

回答

1

使用Html.Raw帮手纯文本输出:

@for (int i = 1; i <= 20; i++) 
{ 
     <ul class="leader @Html.Raw(i % 2 == 0 ? "light" : "dark")"> 
      <li class="rank">@i</li> 
      <li class="challenger"><img alt="Photo" src="~/Content/Textures/Photo/temp-face.jpg" /> James Winters</li> 
      <li class="date">01 Sept 2012</li> 
      <li class="venue">NSW - Woolloomooloo Bay Hotel</li> 
      <li class="points">2999</li> 
     </ul> 
}