'Loading Asp.net Menu depending on user role from SQL database

I'm trying to create a web application using ASP.net, and I'm using asp menus I dragged from the options VS gives me...

<asp:Menu ID="menu_header" runat="server" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#990000" ItemWrap="True" Orientation="Horizontal" StaticSubMenuIndent="10px">
    <Items>
        <asp:MenuItem Text="Información Personal" Value="Información Personal">
            <asp:MenuItem NavigateUrl="~/Pantallas/Asociados/wfrm_Perfil.aspx" Text="Perfil del usuario" Value="Perfil del usuario"></asp:MenuItem>
            <asp:MenuItem NavigateUrl="~/Pantallas/Asociados/wfrm_EstCuenta.aspx" Text="Estado de cuenta" Value="Estado de cuenta"></asp:MenuItem>
            <asp:MenuItem NavigateUrl="~/Pantallas/Asociados/wfrm_Movimientos.aspx" Text="Movimientos" Value="Movimientos"></asp:MenuItem>
        </asp:MenuItem>
        <asp:MenuItem Text="Ahorros" Value="Ahorros">
            <asp:MenuItem NavigateUrl="~/Pantallas/Ahorros/wfrm_MisAhorros.aspx" Text="Mis Ahorros" Value="Mis Ahorros"></asp:MenuItem>
            <asp:MenuItem NavigateUrl="~/Pantallas/Ahorros/wfrm_MatAhorros.aspx" Text="Matricular ahorro" Value="Matricular ahorro"></asp:MenuItem>
            <asp:MenuItem NavigateUrl="~/Pantallas/Ahorros/wfrm_RetAhorros.aspx" Text="Retirar Ahorros" Value="Retirar Ahorros"></asp:MenuItem>
        </asp:MenuItem>
    </Items>
</asp:Menu>

After getting the role from the user that logged to the app, I don't know how to load MenuItems depending on the user roles I get from SQL.

What do you recommend me to do?



Solution 1:[1]

You can use the following code to display Menu Items.

  <% if (Context.User.Identity.IsAuthenticated && Context.User.IsInRole("Admin")) {%>
    //Menu Items
  <%} else if (Context.User.Identity.IsAuthenticated && Context.User.IsInRole("User")){%>                               
//Menu Items
 <%}%>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 M Rizwan