2011-08-28 2 views
0

는 (사용자가 역할에 있는지 여부, 정확하게는?)이 링크가 조건 MVC2에 따라 나타나게

나 링크를 만드는 조건을 기반으로 MVC2 페이지에 표시 할 수있는 방법이 있나요 업데이트 : 나는 아직 아무것도하지 않는 말하기 좀 더 많은 정보를 일반적으로

... 난 그냥 가장 좋은 방법은

내가 표시 링크를 원하는 ...이 있었다 일을 가야할지 궁금 해서요 여기에 사이트. 마스터

 <ul id="menu"> 
       <% 
        if(true){} 
        %>    
       <li><%: Html.ActionLink("Home", "Index", "Home")%></li>     
       <li><%: Html.ActionLink("View Your Populations", "PopulationInfo", "PatientACO")%></li>      
    </ul> 
+0

안녕하세요, 여러 가지 방법이 있습니다 ... 지금까지 시도한 내용과 숨기거나 표시하려는 링크로 보는 방법을 보여줄 수 있습니까? –

답변

1

UserIsInRole 속성 (또는 무엇이든)이있는 각 페이지보기에 대해 모델을 생성 한 다음이를 확인하고이를 기반으로 링크를 표시해야합니다.

<ul id="menu"> 
       <% 
        if(true){} 
        %>    
       <li><%: Html.ActionLink("Home", "Index", "Home")%></li>  
       <% if (Model != null && Model.UserIsInRole()) { %>    
       <li><%: Html.ActionLink("View Your Populations", "PopulationInfo", "PatientACO")%></li>   
       <% } %> 
    </ul> 

편집 :

뷰 모델 :

public class ViewModel 
{ 
    public bool UserIsInRole {get;set;} 
} 

컨트롤러 :

public ActionResult Action() 
{ 
    var viewModel = new ViewModel(); 
    viewModel.UserIsInRole = User.IsInRole("Role"); 
    return View(viewModel); 
} 

보기 :

<ul id="menu"> 
    <% if (Model.UserIsInRole) { 
     <li><% Html.ActionLink("LinkText", "NewAction", "NewController") %></li> 
    <% } %> 
</ul> 
+0

괜찮은 솔루션처럼 들립니다. 그래서, 내가 한 페이지에서 한 사용자가 어떤 역할을하고 있는지 확인해야한다고합니다. 그 사용자가 역할에 있다면 사실 일 것이라고 나는 속성 (bool)을 가지고 있을까요? 어떻게 확인하고 변경할 수 있습니까? – SoftwareSavant

+0

내 편집을 참조하십시오 ... ViewModel, Controller 및 View를 추가했습니다. – Martin

+0

그건 완벽하게 이해할 수 있습니다 ... – SoftwareSavant