This is my CSS menu in master page:
<div id="navtop" runat = "server">
<ul id="nav" runat = "server" class= "nav">
<li runat = "server" id="nav_home"><a href="Login.aspx" ><span>Home</span></a></li>
<li id="nav_RN" runat = "server" ><a href="#nogo2" id="RN"><span>Radni nalozi</span><!--[if gte IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]--><ul>
<li><a href="rn.aspx">Unos radnih sati</a></li>
<li><a href="#nogo19">Izmjena radnih sati</a></li>
<li><a href="#nogo19">Zaključavanje perioda</a></li>
<li><a href="#nogo20">Pregled radnih sati</a></li>
<li><a href="#nogo21">Prekovremeni</a></li>
</ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li id="nav_vp" runat = "server"><a href="#nogo22"><span>Voditeljski dio</span><!--[if gte IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]--><ul>
<li><a href="#nogo23">Unos planiranih radnih sati</a></li>
<li><a href="#nogo24">Odobrenje prekovremenih</a></li>
<li><a href="#nogo25">Odobrenje fakturiranih</a></li>
</ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<div id="navtop" runat = "server">
<ul id="nav" runat = "server" class= "nav">
<li runat = "server" id="nav_home" class="top"><a href="Login.aspx" class="top_link" ><span>Home</span></a></li>
<li id="nav_RN" runat = "server" class="top" ><a href="#nogo2" id="RN" class="top_link"><span class="down">Radni nalozi</span><!--[if gte IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]--><ul class="sub">
<li><a href="rn.aspx">Child1</a></li>
<li><a href="#nogo19"> Child2</a></li>
<li><a href="#nogo19"> Child3</a></li>
<li><a href="#nogo20"> Child4</a></li>
<li><a href="#nogo21"> Child5</a></li>
</ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>
<li id="nav_vp" runat = "server" class="top"><a href="#nogo22" class="top_link"><span class="down">Parent 1</span><!--[if gte IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]--><ul class="sub">
<li><a href="#nogo23"> Child1</a></li>
<li><a href="#nogo24"> Child2</a></li>
<li><a href="#nogo25"> Child3</a></li>
</ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li> and so on....
And when i loading the page i put this code:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If User.IsInRole(ConfigurationManager.AppSettings("User").ToString) Then
Me.Master.FindControl("nav_home").Visible = True
Me.Master.FindControl("nav_RN").Visible = True
Me.Master.FindControl("nav_vp").Visible = False
Me.Master.FindControl("nav_admin").Visible = False
Exit Sub
ElseIf User.IsInRole(ConfigurationManager.AppSettings("PowerUser").ToString) Then
Me.Master.FindControl("nav_home").Visible = True
Me.Master.FindControl("nav_RN").Visible = True
Me.Master.FindControl("nav_vp").Visible = True
Me.Master.FindControl("nav_admin").Visible = False
Exit Sub
ElseIf User.IsInRole(ConfigurationManager.AppSettings("Administrator").ToString) Then
Me.Master.FindControl("nav_home").Visible = True
Me.Master.FindControl("nav_RN").Visible = True
Me.Master.FindControl("nav_vp").Visible = True
Me.Master.FindControl("nav_admin").Visible = True
Exit Sub
End If
Response.Redirect("../no_access.aspx")
End Sub
This code is just for show or hide menu in css, you can also put this code for checking permissions to access
If User.IsInRole(ConfigurationManager.AppSettings("Administrator").ToString) Or _
User.IsInRole(ConfigurationManager.AppSettings("PowerUser").ToString) Then
/* put something or control css menu */
Exit Sub
End If
Response.Redirect("../no_access.aspx")