Wednesday, September 10, 2008

Sitemap - Hiding Login/Logout etc

The following code shows to hide "Login" if users are already logged in and hide "Logout" if users are not logged in from the menu.

1   protected void Menu1_DataBound(object sender, EventArgs e)
2 {
3 Menu menu = (System.Web.UI.WebControls.Menu)sender;
4 MenuItem menuToRemove = null;
5
6 if (HttpContext.Current.User.Identity.IsAuthenticated)
7 {
8 foreach (MenuItem smn in menu.Items)
9 {
10 if (smn.Text == "Login")
11 {
12 MenuItem parent = smn.Parent;
13 if (parent != null)
14 {
15 parent.ChildItems.Remove(smn);
16 }
17 else
18 {
19 menuToRemove = smn;
20 }
21
22 }
23 }
24 if (menuToRemove != null)
25 {
26 menu.Items.Remove(menuToRemove);
27 }
28 }
29 else
30 {
31 foreach (MenuItem smn in menu.Items)
32 {
33 if (smn.Text == "Logout")
34 {
35 MenuItem parent = smn.Parent;
36
37 if (parent != null)
38 {
39 parent.ChildItems.Remove(smn);
40 }
41 else
42 {
43 menuToRemove = smn;
44 }
45
46 }
47 }
48
49 if (menuToRemove != null)
50 {
51 menu.Items.Remove(menuToRemove);
52 }
53 }
54
55
56 }

0 Comments: