您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.0正式版源码>>BasicWebControls/Channel/ChannelGlobalMenu.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载: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 12using System; 13using System.Collections.Generic; 14using System.Text; 15using System.Web.UI.WebControls; 16using SpaceBuilder.Controls.BaseClasses; 17using SpaceBuilder.Components; 18using SpaceBuilder.Jobs.SiteUrls; 19using SpaceBuilder.Rewards.Components; 20using System.Web.UI.HtmlControls; 21using SpaceBuilder.Configuration; 22using SpaceBuilder.Controls; 23using SpaceBuilder.Forums.Components; 24 25namespace 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