pkl*_*ski 2 asp.net-mvc site.master
我需要在Site.Master中编写一个菜单,其中某些菜单项必须是可见的,具体取决于当前用户角色.如何从页面查看?通常只会在控制器中编写逻辑,但Site.Master没有(至少在我的项目中!).我很感激任何指针.
使用HttpContext.Current.User.
从您的视图/部分视图/母版页中始终可以看到这一点.
例如,要显示给定角色的不同html,比如MyRole,您只需编写:
<% if(HttpContext.Current.User.IsInRole("MyRole")) { %>
// tags for MyRole
<% } else { %>
// tags for other users
<%} %>
Run Code Online (Sandbox Code Playgroud)
这很好,因为它是属于View(或母版页)的"显示逻辑",而不是属于控制器的"应用程序逻辑".
请注意,视图只是模板.你可以在不弄乱整洁的MVC模式的情况下编写代码,只要它只是显示逻辑.
视图或母版页不"有控制器".它们只是控制器可以找到和使用的模板.
| 归档时间: |
|
| 查看次数: |
5978 次 |
| 最近记录: |