温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
1//<TunynetCopyright> 2
//-------------------------------------------------------------- 3
//<copyright>拓宇网络科技有限公司 2005-2007</copyright> 4
//<version>V0.5</verion> 5
//<createdate>2006-3-8</createdate> 6
//<author>mazq</author> 7
//<email>mazq@tunynet.com</email> 8
//<log date="2006-3-8">创建</log> 9
//-------------------------------------------------------------- 10
//</TunynetCopyright> 11
12
using System; 13
using System.Collections.Generic; 14
using System.Text; 15
using System.Web.UI.WebControls; 16
using SpaceBuilder.Controls.BaseClasses; 17
using SpaceBuilder.Components; 18
using SpaceBuilder.Jobs.SiteUrls; 19
using SpaceBuilder.Rewards.Components; 20
using System.Web.UI.HtmlControls; 21
using SpaceBuilder.Configuration; 22
using SpaceBuilder.Controls; 23
using SpaceBuilder.Forums.Components; 24
25
namespace SpaceBuilder.Web.Controls 26
{ 27
public class ChannelGlobalMenu : TemplatedWebControl 28
{ 29
protected override void OnInit(EventArgs e) 30
{ 31
if (SkinName == null) 32
ExternalSkinFileName = "Skin-ChannelGlobalMenu.ascx"; 33
else 34
ExternalSkinFileName = SkinName; 35
36
base.OnInit(e); 37
} 38
39
protected override void OnLoad(EventArgs e) 40
{ 41
base.OnLoad(e); 42
EnsureChildControls(); 43
// if (!Page.IsPostBack) 44
InitMenu(); 45
46
MenuApplyStyleSheet(); 47
} 48
49
Child Controls 79
80
protected override void AttachChildControls() 81
{ 82
menu_MyHome = FindControl("Menu_MyHome") as HyperLink; 83
84
menu_Home = FindControl("Menu_Home") as HyperLink; 85
menu_News = FindControl("Menu_News") as HyperLink; 86
menu_Friend = FindControl("Menu_Friend") as HyperLink; 87
menu_Club = FindControl("Menu_Club") as HyperLink; 88
menu_Event = FindControl("Menu_Event") as HyperLink; 89
menu_Blog = FindControl("Menu_Blog") as HyperLink; 90
menu_Photo = FindControl("Menu_Photo") as HyperLink; 91
menu_Bookmark = FindControl("Menu_Bookmark") as HyperLink; 92
menu_File = FindControl("Menu_File") as HyperLink; 93
menu_Forum = FindControl("Menu_Forum") as HyperLink; 94
95
menu_Search = FindControl("Menu_Search") as HyperLink; 96
97
newsMenuBlock = FindControl("NewsMenuBlock") as HtmlContainerControl; 98
friendMenuBlock = FindControl("FriendMenuBlock") as HtmlContainerControl; 99
blogMenuBlock = FindControl("BlogMenuBlock") as HtmlContainerControl; 100
photoMenuBlock = FindControl("PhotoMenuBlock") as HtmlContainerControl; 101
bookmarkMenuBlock = FindControl("BookmarkMenuBlock") as HtmlContainerControl; 102
clubMenuBlock = FindControl("ClubMenuBlock") as HtmlContainerControl; 103
eventMenuBlock = FindControl("EventMenuBlock") as HtmlContainerControl; 104
fileMenuBlock = FindControl("FileMenuBlock") as HtmlContainerControl; 105
forumMenuBlock = FindControl("ForumMenuBlock") as HtmlContainerControl; 106
searchMenuBlock = FindControl("SearchMenuBlock") as HtmlContainerControl; 107
} 108
109
private void InitMenu() 110
{ 111
//if (menu_MyHome != null && !SBContext.Current.User.IsAnonymous) 112
//{ 113
// menu_MyHome.Visible = true; 114
// menu_MyHome.NavigateUrl = UserUrls.Instance().UserHome(SBContext.Current.User); 115
//} 116
117
if (menu_Home != null) 118
{ 119
menu_Home.Text = ResourceManager.GetString("ChannelName_Home"); 120
menu_Home.NavigateUrl = GlobalUrls.Instance().Home; 121
} 122
123
if (menu_News != null && SBConfiguration.Instance().EnableNews) 124
{ 125
menu_News.Text = ResourceManager.GetString("ChannelName_News"); 126
menu_News.NavigateUrl = ChannelUrls.Instance().NewsHome(); 127
} 128
else 129
{ 130
if (newsMenuBlock != null) 131
newsMenuBlock.Visible = false; 132
} 133
134
if (menu_Friend != null && SBConfiguration.Instance().EnableSNS) 135
{ 136
menu_Friend.Visible = true; 137
menu_Friend.Text = ResourceManager.GetString("ChannelName_Member"); 138
menu_Friend.NavigateUrl = ChannelUrls.Instance().FriendHome(); 139
} 140
else 141
{ 142
if (friendMenuBlock != null) 143
friendMenuBlock.Visible = false; 144
} 145
146
if (menu_Club != null && SBConfiguration.Instance().EnableClub) 147
{ 148
menu_Club.Text = ResourceManager.GetString("ChannelName_Club"); 149
menu_Club.NavigateUrl = ChannelUrls.Instance().ClubHome(); 150
} 151
else 152
{ 153
if (clubMenuBlock != null) 154
clubMenuBlock.Visible = false; 155
} 156
157
if (menu_Event != null && SBConfiguration.Instance().EnableEvent) 158
{ 159
menu_Event.Text = ResourceManager.GetString("ChannelName_Event"); 160
menu_Event.NavigateUrl = ChannelUrls.Instance().EventHome(); 161
} 162
else 163
{ 164
if (eventMenuBlock != null) 165
eventMenuBlock.Visible = false; 166
} 167
168
if (menu_Blog != null && SBConfiguration.Instance().EnableBlog) 169
{ 170
menu_Blog.Text = ResourceManager.GetString("ChannelName_Blog"); 171
menu_Blog.NavigateUrl = ChannelUrls.Instance().BlogHome(); 172
} 173
else 174
{ 175
if (blogMenuBlock != null) 176
blogMenuBlock.Visible = false; 177
} 178
179
if (menu_Photo != null && SBConfiguration.Instance().EnableGallery) 180
{ 181
menu_Photo.Text = ResourceManager.GetString("ChannelName_Gallery"); 182
menu_Photo.NavigateUrl = ChannelUrls.Instance().PhotoHome(); 183
} 184
else 185
{ 186
if (photoMenuBlock != null) 187
photoMenuBlock.Visible = false; 188
} 189
190
if (menu_File != null && SBConfiguration.Instance().EnableFileGallery) 191
{ 192
menu_File.Text = ResourceManager.GetString("ChannelName_FileGallery"); 193
menu_File.NavigateUrl = ChannelUrls.Instance().FileHome(); 194
} 195
else 196
{ 197
if (fileMenuBlock != null) 198
fileMenuBlock.Visible = false; 199
} 200
201
if (menu_Bookmark != null && SBConfiguration.Instance().EnableBookmark) 202
{ 203
menu_Bookmark.Text = ResourceManager.GetString("ChannelName_Bookmark"); 204
menu_Bookmark.NavigateUrl = ChannelUrls.Instance().BookmarkHome(); 205
} 206
else 207
{ 208
if (bookmarkMenuBlock != null) 209
bookmarkMenuBlock.Visible = false; 210
} 211
212
if (menu_Forum != null && SBConfiguration.Instance().EnableForum) 213
{ 214
menu_Forum.Text = ResourceManager.GetString("ChannelName_Forum"); 215
menu_Forum.NavigateUrl = ForumUrls.Instance().Home(); 216
menu_Forum.Target = "_blank"; 217
} 218
else 219
{ 220
if (forumMenuBlock != null) 221
forumMenuBlock.Visible = false; 222
} 223
224
//if (menu_Reward != null && SBConfiguration.Instance().EnableReward) 225
//{ 226
// menu_Reward.Text = ResourceManager.GetString("ChannelName_Reward"); 227
// menu_Reward.NavigateUrl = RewardUrls.Instance().RewardHome(); 228
//} 229
//else 230
//{ 231
// if (rewardMenuBlock != null) 232
// rewardMenuBlock.Visible = false; 233
//} 234
235
//if (menu_Seeker != null && SBConfiguration.Instance().EnableJob) 236
//{ 237
// menu_Seeker.NavigateUrl = JobChannelUrls.Instance().SeekerHome(); 238
// menu_Recruiter.NavigateUrl = JobChannelUrls.Instance().RecruiterHome(); 239
//} 240
//else 241
//{ 242
// if (seekerMenuBlock != null && recruiterMenuBlock != null) 243
// seekerMenuBlock.Visible = false; 244
// recruiterMenuBlock.Visible = false; 245
//} 246
247
if (menu_Search != null) 248
{ 249
menu_Search.Text = ResourceManager.GetString("ChannelName_Search"); 250
menu_Search.NavigateUrl = ChannelUrls.Instance().SearchHome(); 251
} 252
} 253
254
/// <summary> 255
/// 根据当前页面设置菜单样式 256
/// </summary> 257
private void MenuApplyStyleSheet() 258
{ 259
switch (SeletedMenu) 260
{ 261
//case ChanneMenuType.MyHome: 262
// menu_MyHome.CssClass = "navHomeCurrent"; 263
// break; 264
//case ChanneMenuType.None: 265
// menu_MyHome.CssClass = "navHomeCurrent"; 266
// break; 267
case ChanneMenuType.Home: 268
menu_Home.CssClass = "navHomeCurrent"; 269
break; 270
case ChanneMenuType.News: 271
menu_News.CssClass = "navNewsCurrent"; 272
Header.AddTitle(ResourceManager.GetString("ChannelName_News") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 273
break; 274
case ChanneMenuType.Friend: 275
menu_Friend.CssClass = "navFriendCurrent"; 276
Header.AddTitle(ResourceManager.GetString("ChannelName_Member") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 277
break; 278
case ChanneMenuType.Club: 279
menu_Club.CssClass = "navClubCurrent"; 280
Header.AddTitle(ResourceManager.GetString("ChannelName_Club") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 281
break; 282
case ChanneMenuType.Event: 283
menu_Event.CssClass = "navEventCurrent"; 284
Header.AddTitle(ResourceManager.GetString("ChannelName_Event") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 285
break; 286
case ChanneMenuType.Blog: 287
menu_Blog.CssClass = "navBlogCurrent"; 288
Header.AddTitle(ResourceManager.GetString("ChannelName_Blog") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 289
break; 290
case ChanneMenuType.Photo: 291
menu_Photo.CssClass = "navPhotoCurrent"; 292
Header.AddTitle(ResourceManager.GetString("ChannelName_Gallery") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 293
break; 294
case ChanneMenuType.File: 295
menu_File.CssClass = "navFileCurrent"; 296
Header.AddTitle(ResourceManager.GetString("ChannelName_FileGallery") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 297
break; 298
case ChanneMenuType.Bookmark: 299
menu_Bookmark.CssClass = "navBookmarkCurrent"; 300
Header.AddTitle(ResourceManager.GetString("ChannelName_Bookmark") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 301
break; 302
303
case ChanneMenuType.Forum: 304
menu_Bookmark.CssClass = "navForumCurrent"; 305
Header.AddTitle(ResourceManager.GetString("ChannelName_Forum") + SBContext.Current.BrowserTitleSeparator + SBContext.Current.SiteName, Context); 306
break; 307
308
309
//case ChanneMenuType.Reward: 310
// menu_Reward.CssClass = "selectedChannelMenuItems"; 311
// break; 312
//case ChanneMenuType.Seeker: 313
// menu_Seeker.CssClass = "selectedChannelMenuItems"; 314
// break; 315
//case ChanneMenuType.Recruiter: 316
// menu_Recruiter.CssClass = "selectedChannelMenuItems"; 317
318
default: 319
break; 320
} 321
} 322
323
private ChanneMenuType seletedMenu = ChanneMenuType.None; 324
public ChanneMenuType SeletedMenu 325
{ 326
get { return seletedMenu; } 327





}