1

我对 ASP.net 和 MVC 完全陌生。我有一个foreach循环来创建一些信息行(显示为水平列表)。我想为每一行(深色和浅色)交替使用类名。

但是,我已经阅读过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。

4

1 回答 1

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>
}
于 2012-07-26T07:26:43.887 回答