MVC 3模型foreach过滤器

时间:2011-08-19 16:44:26

标签: asp.net-mvc-3 razor

我有以下剃刀语法

  @{
     foreach (var p in Model)
     { 
       <b>@p.Age</b>
     }
    }

我想过滤foreach循环,只查看模型记录,其中p.City =“New York”

我的语法是什么样的?

我希望我能解释这一点。

由于

2 个答案:

答案 0 :(得分:6)

 @foreach (var p in Model.Where(i => i.City == "New York")) { 
    <b>@p.Age</b>  
 }

您可能决定在控制器操作中执行此过滤,具体取决于您是否需要在视图中没有“纽约”城市的其他模型记录。

答案 1 :(得分:3)

您可以使用LINQ(http://msdn.microsoft.com/en-us/library/bb397896.aspx)扩展方法,例如“Where”来应用过滤器。你也不需要外面的“@ {}”,你可以在foreach前放一个“@”,Razor会弄明白你的意思。类似的东西:

@foreach (var p in Model.Where(item => item.City == "New York")) {
    <b>@p.Age</b>
}