2010-04-18 5 views
1

현재 사용자의 "역할"에 따라 동적으로 ASP.NET MVC2 마스터 페이지에 메뉴를 만드는 방법은 무엇입니까?사용자의 역할에 따라 메뉴를 동적으로 생성하십시오.

+0

특정 개수의 마스터 페이지가 있습니까? 아니면 즉석에서 마스터 페이지를 만드나요? 고정 된 숫자가 있으면 @ Henk의 제안이 잘 작동합니다. 그렇지 않으면 메뉴를 만드는 루프가 있어야합니다 –

+0

하나의 마스터 페이지가 있습니다 – Ognjen

답변

3

가장 간단하고 가장 간단한 방법은 단순히보기 마크 업에 if 문을 추가하는 것입니다

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

MVC에 대해서는 확실하지 않지만 '일반적인'ASP.NET에서는 런타임에 MasterPage를 선택할 수 있습니다. 당신이 부분보기로 특정 역할에 관한 몇 가지 항목을 분리 할 수 ​​있습니다,

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

을 또는 :

+2

OP가 전체 마스터 페이지를 선택하는 대신 메뉴의 동적 생성에 더 관심이 있다고 생각합니다 ... –

0

sitemap 파일을 사용하여 메뉴를 생성하는 경우 여기에서 수행 할 수 있습니다. 그렇지 않다면, 그것은 달려 있습니다.

관련 문제