我分享了_Layout,它有部分菜单和正文(RenderBody)。我想在控制器或视图级别控制如何呈现_Layout。对于一个控制器动作或视图我想隐藏菜单(_Layout的一部分),对于其他我想要显示它。
有没有明确的解决方案呢?类似的东西:
thisView.Layout.HideMenu = true
答案 0 :(得分:1)
您可以使用布尔属性bool showMenu {get; set;}
创建基本ViewModel,然后使其他ViewModel从基础ViewModel继承。
最后,在您的_Layout.cshtml
(将基本ViewModel作为其@model
)中,您可以执行Razor if(Model.showMenu)
。如果为true,则菜单将呈现,如果为false,则会隐藏它。