Search code examples
c#asp.netrad-controls

how to enable a menu item in asp.net


How can I do this in ASP.NET?

main.Items[0].Enabled = false;
main.Items[1].Enabled = false;
folder.Items[0].Enabled = false;
folder.Items[1].Enabled = false;

Solution

  • If you want to enable/disable menu items on role base then you can use sitemap in your project and easily show hide menu according to user role.

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode url="" roles="*">
        <!--<siteMapNode url="Default.aspx" title="Home" description="" roles="*" />-->
        <siteMapNode url="Dash.aspx" title="Dash" description="admin" roles="KAM,Admin,QMR"  />
        <siteMapNode url="~Manage.aspx" title="Complaint List"  description="" roles="Public,Admin"  />
        <siteMapNode url="~/Manage1.aspx" title="title1"  description="" roles="role1,Admin"  />
        <siteMapNode url="~/Manage2.aspx" title="title2"  description="" roles="role2,Admin" />
        <siteMapNode url="~/ManageUsers.aspx" title="Administration"  description="admin" roles="Admin"   />
        <siteMapNode url="" title="Reports"  description="admin" roles="Admin" >
          <siteMapNode url="Manage4.aspx" title="Manage123"  description="admin" roles="Admin"   />
          <siteMapNode url="Summary.aspx" title="Summary"  description="admin" roles="Admin"   />
        </siteMapNode>
      </siteMapNode>
    </siteMap>