根据条件MVC2显示链接

时间:2011-08-28 21:38:05

标签: asp.net-mvc-2

有没有办法让我根据条件在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>

1 个答案:

答案 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>