您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.0正式版源码>>BlogControls/Admin/WeblogReferralList.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
普通视图
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Network Technology Co., Ltd. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7using System; 8using System.Web.UI.WebControls; 9using SpaceBuilder.Blogs.Components; 10using SpaceBuilder.Components; 11using SpaceBuilder.Controls; 12using SpaceBuilder.Controls.Utils; 13using SpaceBuilder.Security; 14using SpaceBuilder.Posts.Permissions; 15using SpaceBuilder.Posts.Components; 16using SpaceBuilder.Utils; 17using TunyNet.Data.Utils; 18 19namespace SpaceBuilder.Blogs.Controls 20{ 21 /// <summary> 22 /// Blog访问记录 23 /// </summary> 24 public class WeblogReferralList : WeblogThemedControl 25 { 26 27 /// <summary> 28 /// 验证当前用户身份 29 /// </summary> 30 protected override void Authorize(Weblog w) 31 { 32 base.Authorize(w); 33 if (CurrentUser.IsAnonymous) 34 throw new SBException(SBExceptionType.AccessDenied, "Anonymous Blog Posting Access"); 35 36 if (!CurrentUser.IsBlogAdministrator) 37 Permissions.AccessCheck(w, Permission.Post, CurrentUser); 38 } 39 40 private Repeater referralRepeater = null; 41 private Pager referralPager = null; 42 43 protected override void AttachChildControls() 44 { 45 referralRepeater = FindControl("referralRepeater") as Repeater; 46 referralRepeater.ItemDataBound += new RepeaterItemEventHandler(referralRepeater_ItemDataBound); 47 referralPager = FindControl("referralPage") as Pager; 48 } 49 50 protected override void OnLoad(EventArgs e) 51 { 52 base.OnLoad(e); 53 EnsureChildControls(); 54 if (!Page.IsPostBack) 55 DataBind(); 56 } 57 58 public override void DataBind() 59 { 60 base.DataBind(); 61 Bind(); 62 } 63 64 public void Bind() 65 { 66 int postid = -1; 67 if (Context.Request.QueryString["PostID"] != null) 68 { 69 try 70 { 71 postid = Int32.Parse(Context.Request.QueryString["PostID"]); 72 } 73 catch { } 74 } 75 76 Referral r = new Referral(); 77 r.SectionID = this.CurrentWeblog.SectionID; 78 r.PostID = postid; 79 80 int displayItemCount = 20; 81 82 PagingDataSet<Referral> rs = Referrals.GetReferrals(r, displayItemCount, referralPager.PageIndex); 83 84 referralRepeater.DataSource = rs.Records; 85 86 referralPager.TotalRecords = rs.TotalRecords; 87 referralPager.PageSize = displayItemCount; 88 89 referralRepeater.DataBind(); 90 91 this.SetPageTitle("访问记录"); 92 } 93 94 private void referralRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 95 { 96 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 97 { 98 Referral r = e.Item.DataItem as Referral; 99 if (r != null) 100 { 101 HyperLink link = e.Item.FindControl("ReferralLink") as HyperLink; 102 Literal hits = e.Item.FindControl("ReferralHits") as Literal; 103 Literal last = e.Item.FindControl("ReferralDate") as Literal; 104 105 HyperLink sl = e.Item.FindControl("PostLink") as HyperLink; 106 107 if (r.Title.Length <= 100) 108 sl.Text = r.Title; 109 else 110 sl.Text = r.Title.Substring(0, 100); 111 112 sl.NavigateUrl = BlogUrls.Instance().ShortLink(r.PostID); 113 114 if (r.Url.Length <= 100) 115 link.Text = Context.Server.HtmlEncode(r.Url); 116 else 117 link.Text = Context.Server.HtmlEncode(r.Url.Substring(0, 100)); 118 119 link.NavigateUrl = r.Url; 120 121 hits.Text = r.Hits.ToString(); 122 last.Text = r.LastDate.ToString(DateFormat); 123 124 125 } 126 } 127 } 128 129 private string _dateFormat = null; 130 protected string DateFormat 131 { 132 get 133 { 134 if (_dateFormat == null) 135 _dateFormat = SBContext.Current.User.DateFormat; 136 137 return _dateFormat; 138 } 139 } 140 141 } 142} 143
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.0正式版源码