在foreach循环中具有不同条件的内部帮助器,如何管理?

时间:2014-12-02 10:28:15

标签: c# asp.net-mvc-4 razor-2

在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>
  }
}

1 个答案:

答案 0 :(得分:1)

您可以更改@helper一点Func<T,bool>,以决定要显示哪些项目:

@helper WriteGrid(Func<MyModel, bool> p)
{
    foreach (var item in Model.Where(p))
    {
        <div>@item.From</div>
    }
}

@WriteGrid(x => x.Version > 0)
<hr/>
@WriteGrid(x => x.Version == 0)
<hr/>
@WriteGrid(x => true)
<hr/>