2

我有一个控制器动作:

 public ActionResult Sub(int id)
    {
      SubPage_Table subpage_table = db.SubPage_Table.Single(s => s.PageID == id);
        if (subpage_table == null)
        {
            return HttpNotFound();
        }
        return View(subpage_table);
    }

和一个视图:

@model Name.Models.DB.SubPage_Table
@Html.Raw(HttpUtility.HtmlDecode(Model.PageContent))  

但我的布局需要强类型:

@model IEnumerable<Name.Models.DB.SubPage_Table> 
          @foreach (var item in Model)
          {@: <li> @Html.ActionLink((item.PageTitle), "Sub", new { id = item.PageID })</li>

}

如何使用数据填充我的视图和布局?

4

1 回答 1

2

以下是更好的选择:

使用您的数据驱动信息创建局部视图

public LayoutController
{
  public ActionResult CreateMenu()
  {
    var model = db.getmenudata();

    return PartialView(model);
  }
}

然后您的 Layout/Createmenu.cshtml 仅创建数据驱动的 html。

在您的 _Layout.cshtml 中:

<html>
... etc

@Html.RenderAction("Createmenu", "layout");

... etc

@RenderBody();


... etc
</html>
于 2014-04-29T19:17:15.470 回答