【发布时间】:2016-10-29 01:54:30
【问题描述】:
我需要在 ASP.NET MVC 5 站点的 Razor 页面中输出包含 IEnumerable 的复杂 HTML。
我想使用嵌套的 for 循环来构建 HTML - 但是,如果所有对象输出都包含在 foreach 循环中,则这是不可能的。
除了使用foreach 循环之外,有没有办法做这样的事情来获取序列中的下一个对象:
if (x = 1)
{
for (var x=0; x<2; x++)
{
<div class="row">
for (var n=0; n<4; n++)
{
<div class="a">
Model.GetNextObject.Name
</div>
}
</div>
}
}
else
{
<div class="b">
Model.GetNextObject.Name
</div>
}
在许多情况下,这将允许编写更优雅的代码。
这可能吗?
【问题讨论】:
-
您的代码有点不清楚您期望的输出是什么。你能举一个简单的例子来说明值和预期的输出吗
-
“在许多情况下,这将允许更优雅的代码。” ——为什么会这样?你需要
for循环做什么? -
@duplode 说我想要复杂的 HTML 结构——并且需要使用 if 条件(例如引导程序中的行和跨度/列)——你需要大量的 @: 来阻止 Razor 中出现错误。跨度>
-
@StephenMuecke 输出可能只是一个名称列表 - 关键是能够在我想要的时候获取下一个对象 - 不绑定到 foreach 循环 - 从而实现更复杂的结构 - 多个嵌套循环而不是需要 @: 来减轻 Razor 中未关闭的 html 标记错误的 if 语句。
标签: c# asp.net-mvc razor asp.net-mvc-5 razor-2