1

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

在视图中,我试图过滤名为“page”的模型对象并获取 id 为 1 的页面列表。我需要遍历它以显示菜单。

控制器内的代码

public ActionResult Menu(string PageName)
    {
        //
        return View(PageName, db.Pages);
    } 

请告诉我,如何将此模型对象过滤到列表中?我在使用 IEnumerable 时遇到错误。

解决了

我在视图页面中将模型对象更改为 IEnumerable。

@model IEnumerable<DynaPortalMVC.Models.Page>
4

3 回答 3

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>
于 2013-03-27T12:14:47.677 回答
1

你需要

@ {IEnumerable<model.Page> pages = Model.Where(x=>x.CompanyID == 1);}
于 2013-03-27T12:13:09.323 回答
0
@model IEnumerable<DynaPortalMVC.Models.Page>
@{
    ViewBag.Title = "Page";

}
于 2014-03-14T10:23:01.100 回答