在我的网站上,我有一个部分(浮动侧边栏),我只想为一部分用户(管理员)呈现该部分。我希望我可以将逻辑放入主布局中,以确定是否应显示该部分,但如果未呈现该部分,则会导致页面上出现错误。
示例代码 - Layout.cshtml...
... code ...
@if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
示例代码 - MyPage.cshtml...
@section AdminSidebar {
... code ...
}
有谁知道如何让它工作而不必将逻辑放入所有子页面中?
请注意,IsSectionDefined("AdminSidebar") 仅适用于布局文件。它在页面中不起作用来测试该部分是否可用。
我不知道这是否是在滥用框架,但如果你真的倾向于这样做,你可以尝试以下操作:
@{
if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
else {
RenderSection("AdminSidebar", false).WriteTo(TextWriter.Null);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)