您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.1源代码>>BlogControls/Channel/BlogRanks.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码


当前文件路径:SpaceBuider11/BlogControls/Channel/BlogRanks.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 SpaceBuilder.Components; 12using SpaceBuilder.Blogs.Components; 13using System.Web.UI.HtmlControls; 14using System.Web.UI.WebControls; 15using SpaceBuilder.Controls.Utils; 16using SpaceBuilder.Utils; 17using SpaceBuilder.Controls; 18using TunyNet.Data.Utils; 19using TunyNet.Utils; 20 21namespace SpaceBuilder.Blogs.Controls 22{ 23 /// <summary> 24 /// 显示博客排行 25 /// </summary> 26 public class BlogRanks : TemplatedWebControl 27 { 28 SBContext wlContext; 29 /// <summary> 30 /// 控件初始化时,父类会调用这个方法 31 /// </summary> 32 /// <param name="e"></param> 33 protected override void OnInit(EventArgs e) 34 { 35 if (SkinName == null) 36 ExternalSkinFileName = "Blogs/Skin-BlogRanks.ascx"; 37 else 38 ExternalSkinFileName = SkinName; 39 40 wlContext = SBContext.Current; 41 42 base.OnInit(e); 43 } 44 45 Child Controls 88 /// <summary> 89 /// 加载子控件,父类加载皮肤文件时会调用这个方法 90 /// </summary> 91 protected override void AttachChildControls() 92 { 93 rankByPointsLi = FindControl("RankByPointsLi") as HtmlControl; 94 rankByPoints = FindControl("RankByPoints") as HyperLink; 95 rankByPostCountLi = FindControl("RankByPostCountLi") as HtmlControl; 96 rankByPostCount = FindControl("RankByPostCount") as HyperLink; 97 rankByCommentCountLi = FindControl("RankByCommentCountLi") as HtmlControl; 98 rankByCommentCount = FindControl("RankByCommentCount") as HyperLink; 99 rankByHitTimesLi = FindControl("RankByHitTimesLi") as HtmlControl; 100 rankByHitTimes = FindControl("RankByHitTimes") as HyperLink; 101 rankByWeekHitTimesLi = FindControl("RankByWeekHitTimesLi") as HtmlControl; 102 rankByWeekHitTimes = FindControl("RankByWeekHitTimes") as HyperLink; 103 rankByPostDateLi = FindControl("RankByPostDateLi") as HtmlControl; 104 rankByPostDate = FindControl("RankByPostDate") as HyperLink; 105 106 107 pager = FindControl("Pager") as Pager; 108 pager2 = FindControl("Pager2") as Pager; 109 110 blogsRepeater = FindControl("BlogsRepeater") as Repeater; 111 blogsRepeater.ItemDataBound += new RepeaterItemEventHandler(BlogsRepeater_ItemDataBound); 112 } 113 114 /// <summary> 115 /// 控件被加载时,会先调用这个方法 116 /// </summary> 117 /// <param name="e"></param> 118 protected override void OnLoad(EventArgs e) 119 { 120 base.OnLoad(e); 121 EnsureChildControls(); 122 /* 123 RankBy={0} 124 */ 125 if (wlContext.GetIntFromQueryString("RankBy", 0) > 0) 126 this.SortBy = (SortBlogsBy)wlContext.GetIntFromQueryString("RankBy", 0); 127 128 if (!Page.IsPostBack) 129 DataBind(); 130 } 131 132 /// <summary> 133 /// 为这个控件绑定上数据,父类会自动调用这个方法 134 /// </summary> 135 public override void DataBind() 136 { 137 base.DataBind(); 138 Bind(); 139 } 140 141 /// <summary> 142 /// 绑定数据方法具体实现 143 /// </summary> 144 void Bind() 145 { 146 Header.AddTitle(Globals.SiteName + " :: 博客(blog) - 博客排名", Context); 147 //string asdasd = ChannelUrls.Instance().BlogPostsForTab(10, (int)BlogThreadSortBy.TotalRatings, SortOrder.Descending); 148 149 switch (this.SortBy) 150 { 151 case SortBlogsBy.Points: 152 rankByPointsLi.Attributes["class"] = "selected"; 153 break; 154 case SortBlogsBy.PostCount: 155 rankByPostCountLi.Attributes["class"] = "selected"; 156 break; 157 case SortBlogsBy.CommentCount: 158 rankByCommentCountLi.Attributes["class"] = "selected"; 159 break; 160 case SortBlogsBy.WeekHitTimes: 161 rankByWeekHitTimesLi.Attributes["class"] = "selected"; 162 break; 163 case SortBlogsBy.HitTimes: 164 rankByHitTimesLi.Attributes["class"] = "selected"; 165 break; 166 case SortBlogsBy.CreateDate: 167 rankByPostDateLi.Attributes["class"] = "selected"; 168 break; 169 } 170 171 rankByPoints.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.Points); 172 rankByPostCount.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.PostCount); 173 rankByCommentCount.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.CommentCount); 174 rankByHitTimes.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.HitTimes); 175 rankByWeekHitTimes.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.WeekHitTimes); 176 rankByPostDate.NavigateUrl = ChannelUrls.Instance().BlogRanks((int)SortBlogsBy.CreateDate); 177 178 //ChannelUrls.Instance(). 179 180 BlogQuery query = new BlogQuery(); 181 query.SortBy = this.SortBy; 182 query.SortOrder = SortOrder.Descending; 183 query.PageIndex = pager.PageIndex; 184 185 PagingDataSet<Weblog> pds = Weblogs.GetWeblogs(query); 186 if (pds != null) 187 { 188 if (pager != null) 189 { 190 pager.TotalRecords = pds.TotalRecords; 191 pager.PageSize = query.PageSize; 192 } 193 if (pager2 != null) 194 { 195 pager2.TotalRecords = pds.TotalRecords; 196 pager2.PageSize = query.PageSize; 197 } 198 199 } 200 201 blogsRepeater.DataSource = pds.Records; 202 blogsRepeater.DataBind(); 203 } 204 205 /// <summary> 206 /// 绑定每条记录项时,会调用这个方法 207 /// 目的是为了给每条记录中对应的每个子控件绑定上数据 208 /// </summary> 209 /// <param name="sender"></param> 210 /// <param name="e"></param> 211 private void BlogsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 212 { 213 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 214 { 215 Weblog blog = (Weblog)e.Item.DataItem; 216 217 if (blog != null) 218 { 219 HyperLink blogName = e.Item.FindControl("BlogName") as HyperLink; 220 if (blogName != null) 221 { 222 blogName.Text = blog.SectionName; 223 224 blogName.ToolTip = string.Format("查看 {0} 的博客", blogName.Text); 225 blogName.Text = StringUtils.Trim(blogName.Text, 15); 226 blogName.NavigateUrl = UserUrls.Instance().BlogHome(blog.ApplicationKey); 227 blogName.Attributes["target"] = "_blank"; 228 } 229 230 HyperLink author = e.Item.FindControl("Author") as HyperLink; 231 if (author != null) 232 { 233 User blogmaster=SpaceBuilder.Components.Users.FindUserByUsername(blog.ApplicationKey); 234 if (blogmaster != null) 235 { 236 author.Text = StringUtils.Trim(blogmaster.NickName, 8); 237 author.ToolTip = blogmaster.NickName; 238 author.NavigateUrl = UserUrls.Instance().UserProfile(blog.ApplicationKey, UserType.PersonUser); 239 author.Attributes["target"] = "_blank"; 240 } 241 } 242 243 Literal lastUpdatedDate = e.Item.FindControl("LastUpdatedDate") as Literal; 244 if (lastUpdatedDate != null) 245 lastUpdatedDate.Text = Formatter.FormatDate(blog.MostRecentPostDate); 246 247 Literal points = e.Item.FindControl("Points") as Literal; 248 if (points != null) 249 points.Text = blog.Points.ToString(); 250 251 //Literal postCount = e.Item.FindControl("ArticleCount") as Literal; 252 //if (postCount != null) 253 // postCount.Text = blog.ArticleCount.ToString(); 254 255 Literal articleCount = e.Item.FindControl("PostCount") as Literal; 256 if (articleCount != null) 257 articleCount.Text = blog.PostCount.ToString(); 258 259 Literal commentCount = e.Item.FindControl("CommentCount") as Literal; 260 if (commentCount != null) 261 commentCount.Text = blog.CommentCount.ToString(); 262 263 Literal hitTimes = e.Item.FindControl("HitTimes") as Literal; 264 if (hitTimes != null) 265 hitTimes.Text = blog.HitTimes.ToString(); 266 267 Literal weekHitTimes = e.Item.FindControl("WeekHitTimes") as Literal; 268 if (weekHitTimes != null) 269 weekHitTimes.Text = blog.WeekHitTimes.ToString(); 270 271 272 } 273 } 274 } 275 276 277 属性 290 291 } 292}
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.1源代码

- Vb.net简单新闻系统源码

- 随风缘内容管理(JumbotCms!N..

- Ajax之用户注册实例源码

- GridView嵌套应用实例

- Linq三层模式之增删改源码

- HeroBeastControls的NavMenu..

- 精品课管理系统源码

- 小胡源码下载系统

51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号