我有一个名为Manager的控制器,我希望为所有视图提供额外的菜单。我只需要在'@RenderBody()'之前和之后向_Layout.cshtml添加一些东西。如何使用控制器/视图执行此操作?
示例:
这就是ManagerController的所有视图现在的样子:
<div id="content">
<h2>Projects Manager</h2>
<p>
Only for admin.
</p>
</div>
@{Html.RenderAction("ManagerMenu", "Manager");}
我想将其更改为(并保持相同的结果):
<h2>Projects Manager</h2>
<p>
Only for admin.
</p>
我该怎么做?
我的想法是:
@if ("ProjectManager.Controllers.ManagerController" == ViewContext.Controller.ToString())
{
<div id="content">
@RenderBody()
</div>
{Html.RenderAction("ManagerMenu", "Manager");}
}
else
{
@RenderBody()
}
但我不知道应该如何正确地完成......
答案 0 :(得分:0)
为什么不创建一个可选部分,只在Manager控制器的Views中实现该部分?
@RenderSection("ManagerMenu", false);
然后在ManagerController视图中执行此操作:
@section ManagerMenu {
@Html.RenderAction("ManagerMenu", "Manager")
}