2010-04-18 5 views
1

Comment créer un menu dans une page maître ASP.NET MVC2, dynamiquement basé sur le «rôle» de l'utilisateur actuel?Créer un menu dynamiquement en fonction du rôle de l'utilisateur

+0

Avez-vous un nombre spécifique de pages maîtres ou les créez-vous à la volée? S'il y a un nombre fixe, la suggestion de @ Henk fonctionne bien. Sinon, vous devrez avoir une boucle qui crée le menu –

+0

J'ai une page maître – Ognjen

Répondre

3

Le plus simple et le plus simple serait d'ajouter simplement une déclaration if dans le balisage de vue:

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

Ou, vous pouvez séparer plusieurs éléments se rapportant à un rôle spécifique dans une vue partielle:

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

Je ne suis pas sûr de MVC mais dans ASP.NET 'normal' il est possible de sélectionner une MasterPage à l'exécution.

+2

Je pense que l'OP est plus intéressé par la génération dynamique du menu, plutôt que de sélectionner une page maître entière ... –

0

Si vous utilisez le fichier sitemap pour générer des menus, vous pouvez probablement le faire ici. Sinon, cela dépend.

Questions connexes