您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.1源代码>>BlogControls/Channel/ChannelBlogNavigation.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
当前文件:文件类型 SpaceBuider11/BlogControls/Channel/ChannelBlogNavigation.cs打开代码结构图
普通视图
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Inc. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10using SpaceBuilder.Controls.BaseClasses; 11using System.Web.UI.WebControls; 12using SpaceBuilder.Blogs.Components; 13using SpaceBuilder.Components; 14using SpaceBuilder.Utils; 15using SpaceBuilder.Posts.Components; 16 17namespace SpaceBuilder.Blogs.Controls 18{ 19 /// <summary> 20 /// 主站博客导航 21 /// </summary> 22 public class ChannelBlogNavigation : TemplatedWebControl 23 { 24 /// <summary> 25 /// 控件初始化时,父类会调用这个方法 26 /// </summary> 27 /// <param name="e"></param> 28 protected override void OnInit(EventArgs e) 29 { 30 if (SkinName == null) 31 ExternalSkinFileName = "Blogs/Skin-ChannelBlogNavigation.ascx"; 32 else 33 ExternalSkinFileName = SkinName; 34 35 base.OnInit(e); 36 } 37 38 /// <summary> 39 /// 控件被加载时,会先调用这个方法 40 /// </summary> 41 /// <param name="e"></param> 42 protected override void OnLoad(EventArgs e) 43 { 44 base.OnLoad(e); 45 EnsureChildControls(); 46 47 if (SBContext.Current.RawUrl.IndexOf("BlogRanks.aspx") > 0) 48 SeletedMenu = BlogNavigationType.BlogRanks; 49 50 if (SBContext.Current.RawUrl.IndexOf("PostRanks.aspx") > 0) 51 SeletedMenu = BlogNavigationType.WeblogPostRanks; 52 53 if (SBContext.Current.RawUrl.IndexOf("BlogTagMap.aspx") > 0) 54 SeletedMenu = BlogNavigationType.BlogTags; 55 56 if (!Page.IsPostBack) 57 { 58 PostFullTextQuery query = new PostFullTextQuery(); 59 query.ConvertFromQueryString(); 60 postKeyword.Text = query.PostKeyword; 61 } 62 63 InitMenu(); 64 MenuApplyStyleSheet(); 65 } 66 67 Child Controls 83 84 /// <summary> 85 /// 加载子控件,父类加载皮肤文件时会调用这个方法 86 /// </summary> 87 protected override void AttachChildControls() 88 { 89 blogHome = FindControl("BlogHome") as HyperLink; 90 weblogPostRanks = FindControl("WeblogPostRanks") as HyperLink; 91 blogRanks = FindControl("BlogRanks") as HyperLink; 92 blogTags = FindControl("BlogTags") as HyperLink; 93 myBlog = FindControl("MyBlog") as HyperLink; 94 95 postKeyword = FindControl("PostKeyword") as TextBox; 96 searchButton = FindControl("SearchButton") as Button; 97 searchButton.Click += new EventHandler(SearchButton_Click); 98 } 99 /// <summary> 100 /// 子控件初始化设置 101 /// </summary> 102 private void InitMenu() 103 { 104 blogHome.NavigateUrl = ChannelUrls.Instance().BlogHome(); 105 weblogPostRanks.NavigateUrl = ChannelUrls.Instance().WeblogPostRanks((int)BlogThreadSortBy.MostRecent); 106 blogRanks.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.Points); 107 blogTags.NavigateUrl = ChannelUrls.Instance().BlogTagMap(); 108 109 if (!SBContext.Current.User.IsAnonymous && SBContext.Current.User.UserType == UserType.PersonUser) 110 myBlog.NavigateUrl = UserUrls.Instance().BlogHome(SBContext.Current.User.UserName); 111 else 112 myBlog.Visible = false; 113 } 114 115 /// <summary> 116 /// 根据当前页面设置菜单样式 117 /// </summary> 118 private void MenuApplyStyleSheet() 119 { 120 switch (SeletedMenu) 121 { 122 case BlogNavigationType.BlogHome: 123 blogHome.CssClass = "selectedChannelNavigationMenu"; 124 break; 125 case BlogNavigationType.WeblogPostRanks: 126 weblogPostRanks.CssClass = "selectedChannelNavigationMenu"; 127 break; 128 case BlogNavigationType.BlogRanks: 129 blogRanks.CssClass = "selectedChannelNavigationMenu"; 130 break; 131 case BlogNavigationType.BlogTags: 132 blogTags.CssClass = "selectedChannelNavigationMenu"; 133 break; 134 case BlogNavigationType.MyBlog: 135 myBlog.CssClass = "selectedChannelNavigationMenu"; 136 break; 137 } 138 } 139 140 /// <summary> 141 /// 搜索按钮点击事件处理程序 142 /// </summary> 143 /// <param name="sender"></param> 144 /// <param name="e"></param> 145 protected void SearchButton_Click(object sender, EventArgs e) 146 { 147 PostFullTextQuery query = new PostFullTextQuery(); 148 query.FullTextSearchType = FullTextSearchType.Blog; 149 query.PostKeyword = postKeyword.Text; 150 string searchPostsUrl = Globals.FullPathForSearchSite(ChannelUrls.Instance().BlogSearchResults() + "?" + query.ConvertToQueryString()); 151 Context.Response.Redirect(searchPostsUrl, true); 152 } 153 154 private BlogNavigationType seletedMenu; 155 public BlogNavigationType SeletedMenu 156 { 157 get { return seletedMenu; } 158 set { seletedMenu = value; } 159 } 160 161 /// <summary> 162 /// 频道菜单项 163 /// </summary> 164 public enum BlogNavigationType 165 { 166 BlogHome, 167 WeblogPostRanks, 168 BlogRanks, 169 BlogTags, 170 MyBlog, 171 } 172 173 } 174 175} 176 177
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.1源代码