ASP.MVC从控制器或视图级别更改_Layout元素

时间:2017-04-11 09:08:40

标签: c# asp.net-mvc

我分享了_Layout,它有部分菜单和正文(RenderBody)。我想在控制器或视图级别控制如何呈现_Layout。对于一个控制器动作或视图我想隐藏菜单(_Layout的一部分),对于其他我想要显示它。

有没有明确的解决方案呢?类似的东西:

thisView.Layout.HideMenu = true

1 个答案:

答案 0 :(得分:1)

您可以使用布尔属性bool showMenu {get; set;}创建基本ViewModel,然后使其他ViewModel从基础ViewModel继承。

最后,在您的_Layout.cshtml(将基本ViewModel作为其@model)中,您可以执行Razor if(Model.showMenu)。如果为true,则菜单将呈现,如果为false,则会隐藏它。