我有以下剃刀语法
@{
foreach (var p in Model)
{
<b>@p.Age</b>
}
}
我想过滤foreach循环,只查看模型记录,其中p.City =“New York”
我的语法是什么样的?
我希望我能解释这一点。
由于
答案 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>
}