【发布时间】:2014-12-02 10:28:14
【问题描述】:
foreach 循环中不同条件的内部助手,如何管理?
我希望有不同的 foreach 循环,但助手的其余部分应该相同 不同的版本
1 - foreach (var item in Model.Where(_ => _.Version > 0))
2 - foreach (var item in Model.Where(_ => _.Version = 0))
3 - foreach (var item in Model)
有什么建议吗?
@helper WriteGrid()
{
foreach (var item in Model.Where(_ => _.Version > 0))
{
<div>
@item.From
</div>
}
}
【问题讨论】:
-
具体有哪些不同的条件?您在问题中输入的三个将导致 ID 为 0 或 ID 为 2 的项目被处理两次。这是故意的,还是每个项目最多只处理一次,或者每个项目都应该只处理一次?
-
我编辑了问题以使其更清晰。 Condition1 = Version1, Condition2 = 所有版本除了 Version1, Condition3 = ALL 不止一次
-
让循环体成为另一个助手怎么样?
-
带有另一个助手的循环体是一种解决方案
-
为什么要多次渲染同一个项目(最后一个循环复制了前两次已经渲染的那些项目)?
标签: c# asp.net-mvc-4 razor-2