2010-04-18 33 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文件生成菜單,那麼你可以在那裏做。如果不是,那就要看情況了。