我是ASP.NET MVC的新手,我想知道如果我的_Layout.cshtml
有一个元素应该怎么做?
<div class="navbar navbar-inverse navbar-fixed-top">
...
</div>
我不想使用控制器
SomePageController.cs
和视图SomePage.cshtml
为特定页面生成的内容。我是否只将HTML包裹在if
语句中,例如@if(not on SomePage) {
<div class="navbar navbar-inverse navbar-fixed-top">
...
</div>
}
还是有更合适的方法?
最佳答案
我通常在ViewBag中使用魔术字符串。我将其设置在控制器中(如果需要,也可以在视图顶部进行设置)。
ViewBag.HideNavBar = true;
在_Layout中:
@if(ViewBag.HideNavBar == null) {
<div class="navbar navbar-inverse navbar-fixed-top">
...
</div>
}
我一直使用这种策略将选项(例如datepicker选项)一直传递到布局中。
关于c# - 如何从1个特定页面的布局中删除HTML元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30462358/