2011-08-28 47 views
0

有沒有爲我做一個鏈接出現基於一個條件的MVC2頁面上(準確的說,用戶無論是在一個角色?)有一個鏈接顯示基於條件的MVC2

方式更新:一些更多的信息

一般來說我沒有做任何事......我只是想知道什麼是最好的方式去這樣做,這是......

我希望鏈接顯示在這裏site.Master

 <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

聽起來像一個體面的解決方案。所以說,我有一個頁面需要檢查我是否是角色中的用戶。我會有一個屬性(布爾),如果說該用戶在一個角色是真的?我如何檢查並改變它? – SoftwareSavant

+0

看到我的編輯...我添加了一個ViewModel,控制器和視圖 – Martin

+0

這是非常有意義的...... – SoftwareSavant