Bri*_*ian 12 asp.net-mvc razor asp.net-mvc-3
在我的网站上,我有一个部分(浮动侧边栏),我只想为一组用户(管理员)呈现.我希望我可以将逻辑放在主布局中,以确定是否应显示该部分,但如果未呈现该部分,则会在页面上导致错误.
示例代码 - Layout.cshtml ...
... code ...
@if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
Run Code Online (Sandbox Code Playgroud)
示例代码 - MyPage.cshtml ...
@section AdminSidebar {
... code ...
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何让它工作而不必将逻辑放在所有子页面中?
作为注释,IsSectionDefined("AdminSidebar")仅适用于布局文件.它在页面中不起作用来测试该部分是否可用.
Joã*_*elo 16
我不知道这是不是滥用框架,但如果你真的倾向于这样做,你可以尝试以下方法:
@{
if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
else {
RenderSection("AdminSidebar", false).WriteTo(TextWriter.Null);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |