2016-11-15 12 views
0

私はこのような構造は以下のメニューがあります。役割ベースのメニューは

<div id="sidebar-menu"> 
      <ul> 
       <li class="active"> 
        <a href="index.html" class="design active"><i class="icon-employee"></i><span> Employees </span></a> 
       </li> 

       <li> 
        <a href="Holiday.html" class="design"><i class="icon-holiday"></i><span> Holidays <span class="badge">6</span></span></a> 
       </li> 

       <li class="has_sub"> 
        <a href="javascript:void(0);" class="design"><i class="icon-time"></i> <span> Time & Attendance </span> <span class="pull-right"><i class="mdi mdi-plus"></i></span></a> 
        <ul class="list-unstyled"> 
         <li><a href="incident.html">Incidents</a></li> 
         <li><a href="hour.html">Hours</a></li> 
         <li><a href="pass.html">Passes</a></li> 
         <li class"active"><a class"active" href="disability.html">Disabilities</a></li> 
        </ul> 
       </li> 
    </ul> 
    </div> 

それが、そのわずか1つのレベルのメニューを作成する方法についての良い記事がありますが、ここでは2つのレベルのメニューです。 http://techbrij.com/role-based-menu-asp-net-mvc

私はユーザーの役割や検証に応じて動的に表示したいと思います。

どのように手掛かりがありますか?

答えて

3

ユーザーの役割に基づいてどのビューでも物事を動的に表示します。あなただけのユーザーが認証されているかどうかを確認したい場合、あなたはこのようにそれを行うことができます

@if (User.IsInRole("roleName")) 
{ 
    //Here you can write anything you want to show. 
    <li><a href="incident.html">Incidents</a></li> 
    <li><a href="hour.html">Hours</a></li> 
    <li><a href="pass.html">Passes</a></li> 
} else { 
    <li><a href="signup.html">Sign Up</a></li> 
    <li><a href="login.html">Login</a></li> 
    <li><a href="aboutus.html">About Us</a></li> 
} 

:あなたはこのような何かを行うことが

@if (@User.Identity.IsAuthenticated) 
{ 
    //Here you can write anything you want to show. 
    <li><a href="incident.html">Incidents</a></li> 
    <li><a href="hour.html">Hours</a></li> 
    <li><a href="pass.html">Passes</a></li> 
} else { 
    <li><a href="signup.html">Sign Up</a></li> 
    <li><a href="login.html">Login</a></li> 
    <li><a href="aboutus.html">About Us</a></li> 
} 

をメニューには、それはいいことだろう完全に異なっている場合2つの部分的なビューを行い、ユーザーの役割やユーザーが認証されているかどうかに応じて_Layoutから呼び出します。ここに例があります:

@if (User.IsInRole("roleName")) 
{ 
    //Here you can write anything you want to show. 
    @Html.Partial("_RoleXXMenu") 
} else { 
    @Html.Partial("_RoleYYMenu") 
} 
関連する問題