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>

ビューiamで、「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 に答える