21

共享布局视图可以有控制器吗?

我需要从控制器传递模型信息吗?

或者我在这里错过了什么?

4

2 回答 2

17

在控制器中:

    public PartialViewResult Menu()
    {
        var ChargeTypes = db.ChargeTypes.ToList();
        return PartialView(ChargeTypes);
    }

然后是它的局部视图:

@model IEnumerable<ProposalMaker.Models.ChargeType>

@foreach (var item in Model)
{
    <li>@item.Name</li>
}

然后在共享的局部视图中

@{Html.RenderAction("Menu","ChargeType");}

感谢您的提示 SLaks!

于 2013-09-16T17:39:29.147 回答
5

要将信息传递给布局,您需要使用所有视图模型都使用的基本视图模型。然后,您的布局可以采用此基本模型。

我之前回答过一个关于这个的问题

将数据传递给所有页面通用的布局

其中有一个详细的例子。

于 2013-09-16T16:13:19.800 回答