在_Layout.cshtml中
@model DynaPortalMVC.Models.Page
@using System.Linq
<ul>
@IEnumerable<model.Page> pages = model.Where(x=>x.CompanyID == 1);
@foreach (var item in pages)
{
<li>item.Title</li>
}
</ul>
在视图中iam尝试过滤名为“page”的模型对象并获取id为1的页面列表。我需要遍历此页面以显示菜单。
控制器内的代码
public ActionResult Menu(string PageName)
{
//
return View(PageName, db.Pages);
}
请告诉我,如何将此模型对象过滤到列表中?我在使用IEnumerable时遇到错误。
解决
我在视图页面中将模型对象更改为IEnumerable。
@model IEnumerable<DynaPortalMVC.Models.Page>
答案 0 :(得分:2)
您可以跳过将查询结果分配到IEnumerable变量,除非您将其用于页面上的其他位置。所以你可以这样做:
@model DynaPortalMVC.Models.Page
@using System.Linq
<ul>
@foreach (var item in model.Where(x=>x.CompanyID == 1))
{
<li>@item.Title</li>
}
</ul>
答案 1 :(得分:1)
你需要
@ {IEnumerable<model.Page> pages = Model.Where(x=>x.CompanyID == 1);}
答案 2 :(得分:0)
@model IEnumerable<DynaPortalMVC.Models.Page>
@{
ViewBag.Title = "Page";
}