温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:IFNuke1.1.0版源码
当前文件:
IFnuke110/Website/SkinControls/Nav.ascx.cs,打开代码结构图
IFnuke110/Website/SkinControls/Nav.ascx.cs,打开代码结构图1using System; 2
using System.Collections; 3
using System.Collections.Generic; 4
using System.Web; 5
using System.Web.UI; 6
using System.Web.UI.HtmlControls; 7
using System.Web.UI.WebControls; 8
using System.Web.UI.WebControls.WebParts; 9
10
using IFNuke; 11
using IFNuke.Data; 12
using IFNuke.BO; 13
using IFNuke.Web; 14
using IFNuke.Web.Security; 15
using IFNuke.Web.UI; 16
using IFNuke.Web.UI.WebControls; 17
using IFNuke.Web.UI.Skins; 18
19
public partial class SkinObject_Nav : SkinObjectBase 20
{ 21
protected void Page_Load(object sender, EventArgs e) 22
{ 23
if (!Page.IsPostBack) 24
{ 25
string imgArrowDown = "Images/menu_down.gif"; 26
string imgArrowRight = "~/Images/breadcrumb.gif"; 27
menuTab.StaticEnableDefaultPopOutImage = false; 28
//menuTab.StaticPopOutImageUrl = imgArrowDown; 29
30
MenuItemCollection menuItems = GetMenuItems(); 31
foreach (MenuItem mItem in menuItems) 32
{ 33
//if (mItem.Value == PortalSetting.ActiveTab.Id.ToString()) 34
//{ 35
// mItem.Text = string.Format("<img src=\"" + imgArrowRight + "\" border=0/><font color=\"red\">{0}</font>", mItem.Text); 36
//} 37
if (mItem.ChildItems.Count>0) 38
{ 39
mItem.Text = string.Format("{0} <img src=\"" + imgArrowDown + "\" border=0/>", mItem.Text); 40
} 41
menuTab.Items.Add(mItem); 42
} 43
} 44
} 45
46
private MenuItemCollection GetMenuItems() 47
{ 48
MenuItemCollection menuItems = new MenuItemCollection(); 49
50
string imgArrowRight = "~/Images/breadcrumb.gif"; 51
string selectedMenuText = "<img src=\"" + imgArrowRight + "\" border=0/><font color=\"red\">{0}</font>"; 52
53
int portalId = PortalSetting.Id; 54
int activeTabId = PortalSetting.ActiveTab.Id; 55
56
// get root level menu 57
// add root tabs, except admin 58
List<Tab> tabs = Tab.GetNormalRootTabs(portalId); 59
60
foreach (Tab tab in tabs) 61
{ 62
// pass the tab which have no permission 63
if (!PortalSecurity.GetTabPermission(tab.Id).CanView) continue; 64
65
MenuItem mi = new MenuItem(tab.Name, tab.Id.ToString()); 66
mi.NavigateUrl = Globals.NavigateUrl(tab.Id); 67
//"~/default.aspx?tabid="+tab.Id.ToString(); 68
//Globals.NavigateUrl(tab.Id); 69
//string.Format(navigateUrl,PortalSetting.Name, tab.Id); 70
if (activeTabId == tab.Id) 71
{ 72
// mi.Text = string.Format(selectedMenuText, mi.Text); 73
if (string.IsNullOrEmpty(Page.Title)) 74
Page.Title = tab.Name; 75
else 76
Page.Title += " > " + tab.Name; 77
} 78
// get 1 level menu 79
List<Tab> tabs1 = Tab.GetChildTabs(tab.Id); 80
foreach (Tab tab1 in tabs1) 81
{ 82
// pass the tab which have no permission 83
if (!PortalSecurity.GetTabPermission(tab1.Id).CanView) continue; 84
85
// is has child, disable the parent click 86
mi.NavigateUrl = ""; 87
mi.Selectable = false; 88
89
MenuItem mi1 = new MenuItem(tab1.Name, tab1.Id.ToString()); 90
mi1.NavigateUrl = Globals.NavigateUrl(tab1.Id); 91
if (!string.IsNullOrEmpty(tab1.IconFile)) 92
{ 93
mi1.ImageUrl = "~/images/" + tab1.IconFile; 94
} 95
//if (activeTabId == tab1.Id) 96
//{ 97
// mi.Text = string.Format(selectedMenuText, mi.Text); 98
// Page.Title += " > " + tab1.Name; 99
//} 100
// get 2 level 101
List<Tab> tabs2 = Tab.GetChildTabs(tab1.Id); 102
foreach (Tab tab2 in tabs2) 103
{ 104
// pass the tab which have no permission 105
if (!PortalSecurity.GetTabPermission(tab2.Id).CanView) continue; 106
107
// is has child, disable the parent click 108
mi1.NavigateUrl = ""; 109
mi1.Selectable = false; 110
111
MenuItem mi2 = new MenuItem(tab2.Name, tab2.Id.ToString()); 112
mi2.NavigateUrl = Globals.NavigateUrl(tab2.Id); 113
//if (activeTabId == tab2.Id) 114
//{ 115
// mi.Text = string.Format(selectedMenuText, mi.Text); 116
// Page.Title += " > " + tab2.Name; 117
//} 118
mi1.ChildItems.Add(mi2); 119
} 120
mi.ChildItems.Add(mi1); 121
} 122
menuItems.Add(mi); 123
} 124
125
if (PortalSecurity.IsPortalAdmin()) 126
menuItems.Add(GetPortalAdminMenu()); 127
return menuItems; 128
} 129
130
// Add Portal Admin MenuItems 131
private MenuItem GetPortalAdminMenu() 132
{ 133
int tabId = PortalSetting.ActiveTab.Id; 134
string navigateUrl = "~/Default.aspx?PortalName={0}&tabId={1}&ctl=admin&AdminControl={2}"; 135
MenuItem miRoot = new MenuItem(); 136
miRoot.Text = GetResourceString("Admin","Core"); 137
miRoot.Selectable = false; 138
139
if (PortalSecurity.IsSuperAdmin()) 140
{ 141
MenuItem miModule = new MenuItem(); 142
miModule.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "Module"); 143
miModule.ImageUrl = "~/images/icon_moduledefinitions_16px.gif"; 144
miModule.Text = GetResourceString("ModuleDefinition", "Core"); 145
miRoot.ChildItems.Add(miModule); 146
147
MenuItem miHostSetting = new MenuItem(); 148
miHostSetting.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "HostSetting"); 149
miHostSetting.ImageUrl = "~/images/icon_hostsettings_16px.gif"; 150
miHostSetting.Text = GetResourceString("HostSetting", "Core"); 151
miRoot.ChildItems.Add(miHostSetting); 152
153
MenuItem miPortal = new MenuItem(); 154
miPortal.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "Portal"); 155
miPortal.ImageUrl = "~/images/icon_sitesettings_16px.gif"; 156
miPortal.Text = GetResourceString("Portal", "Core"); 157
miRoot.ChildItems.Add(miPortal); 158
} 159
else 160
{ 161
MenuItem mi_0 = new MenuItem(); 162
mi_0.NavigateUrl = string.Format(navigateUrl + "&PortalId={3}", PortalSetting.Name, tabId, "Portal", PortalSetting.Id); 163
mi_0.ImageUrl = "~/images/icon_sitesettings_16px.gif"; 164
mi_0.Text = GetResourceString("Portal", "Core"); 165
miRoot.ChildItems.Add(mi_0); 166
} 167
168
MenuItem miRole = new MenuItem(); 169
miRole.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "Role"); 170
miRole.ImageUrl = "~/images/icon_securityroles_16px.gif"; 171
miRole.Text = GetResourceString("Role", "Core"); 172
miRoot.ChildItems.Add(miRole); 173
174
MenuItem miUser = new MenuItem(); 175
miUser.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "User"); 176
miUser.ImageUrl = "~/images/icon_users_16px.gif"; 177
miUser.Text = GetResourceString("User", "Core"); 178
miRoot.ChildItems.Add(miUser); 179
180
MenuItem miTab = new MenuItem(); 181
miTab.NavigateUrl = string.Format(navigateUrl, PortalSetting.Name, tabId, "Tab"); 182
miTab.ImageUrl = "~/images/icon_tabs_16px.gif"; 183
miTab.Text = GetResourceString("Tab", "Core"); 184
miRoot.ChildItems.Add(miTab); 185
186
187
return miRoot; 188
} 189
} 190





}
}