2010-04-18 63 views
1

如何在ASP.NET MVC2母版页中动态地根据当前用户的“角色”创建菜单?根据用户角色动态创建菜单

+0

您是否有特定数量的母版页,或者您是否可以随时创建它们?如果有一个固定的号码,@ Henk的建议效果很好。否则,你将不得不创建一个循环来创建菜单 – 2010-04-18 22:04:55

+0

我有一个主页 – Ognjen 2010-04-19 06:37:13

回答

3

最简单和最直接的方式是简单地在视图中标记添加if声明:

<% if (Page.User.IsInRole("Admin")) { %> 
    <%= Html.ActionLink("Admin Tools Index", "Index", "Admin") %> 
    <%= Html.ActionLink("Admin Dashboard", "Dashboard", "Admin") %> 
<% } %> 

或者,也可以属于一个特定的角色几个项目分离出来,成为一个局部视图:

<% if (Page.User.IsInRole("Admin")) { %> 
    <% Html.RenderPartial("AdminMenu"); %> 
<% } %> 
1

我不确定MVC,但在'正常'ASP.NET中可以在运行时选择一个MasterPage。

+2

我认为OP更感兴趣的是菜单的动态生成,而不是选择整个母版页... – 2010-04-18 22:05:12

0

如果您使用sitemap文件生成菜单,那么你可以在那里做。如果不是,那就要看情况了。