温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
当前文件:
SpaceBuider11/BlogControls/Admin/WeblogReferralList.cs,打开代码结构图
SpaceBuider11/BlogControls/Admin/WeblogReferralList.cs,打开代码结构图1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Web.UI.WebControls; 9
using SpaceBuilder.Blogs.Components; 10
using SpaceBuilder.Components; 11
using SpaceBuilder.Controls; 12
using SpaceBuilder.Controls.Utils; 13
using SpaceBuilder.Security; 14
using SpaceBuilder.Posts.Permissions; 15
using SpaceBuilder.Posts.Components; 16
using SpaceBuilder.Utils; 17
using TunyNet.Data.Utils; 18
19
namespace 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
/// <summary> 40
/// 访问记录列表 41
/// </summary> 42
private Repeater referralRepeater = null; 43
/// <summary> 44
/// 分页控件 45
/// </summary> 46
private Pager referralPager = null; 47
48
protected override void AttachChildControls() 49
{ 50
referralRepeater = FindControl("referralRepeater") as Repeater; 51
referralRepeater.ItemDataBound += new RepeaterItemEventHandler(referralRepeater_ItemDataBound); 52
referralPager = FindControl("referralPage") as Pager; 53
} 54
55
protected override void OnLoad(EventArgs e) 56
{ 57
base.OnLoad(e); 58
EnsureChildControls(); 59
if (!Page.IsPostBack) 60
DataBind(); 61
} 62
63
public override void DataBind() 64
{ 65
base.DataBind(); 66
Bind(); 67
} 68
69
public void Bind() 70
{ 71
int postid = -1; 72
if (Context.Request.QueryString["PostID"] != null) 73
{ 74
try 75
{ 76
postid = Int32.Parse(Context.Request.QueryString["PostID"]); 77
} 78
catch { } 79
} 80
81
Referral r = new Referral(); 82
r.SectionID = this.CurrentWeblog.SectionID; 83
r.PostID = postid; 84
85
int displayItemCount = 20; 86
87
PagingDataSet<Referral> rs = Referrals.GetReferrals(r, displayItemCount, referralPager.PageIndex); 88
89
referralRepeater.DataSource = rs.Records; 90
91
referralPager.TotalRecords = rs.TotalRecords; 92
referralPager.PageSize = displayItemCount; 93
94
referralRepeater.DataBind(); 95
96
this.SetPageTitle("访问记录"); 97
} 98
99
private void referralRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 100
{ 101
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 102
{ 103
Referral r = e.Item.DataItem as Referral; 104
if (r != null) 105
{ 106
HyperLink link = e.Item.FindControl("ReferralLink") as HyperLink; 107
Literal hits = e.Item.FindControl("ReferralHits") as Literal; 108
Literal last = e.Item.FindControl("ReferralDate") as Literal; 109
110
HyperLink sl = e.Item.FindControl("PostLink") as HyperLink; 111
112
if (r.Title.Length <= 100) 113
sl.Text = r.Title; 114
else 115
sl.Text = r.Title.Substring(0, 100); 116
117
sl.NavigateUrl = BlogUrls.Instance().ShortLink(r.PostID); 118
119
if (r.Url.Length <= 100) 120
link.Text = Context.Server.HtmlEncode(r.Url); 121
else 122
link.Text = Context.Server.HtmlEncode(r.Url.Substring(0, 100)); 123
124
link.NavigateUrl = r.Url; 125
126
hits.Text = r.Hits.ToString(); 127
last.Text = r.LastDate.ToString(DateFormat); 128
129
130
} 131
} 132
} 133
134
private string _dateFormat = null; 135
/// <summary> 136
/// 访问日期 137
/// </summary> 138
protected string DateFormat 139
{ 140
get 141
{ 142
if (_dateFormat == null) 143
_dateFormat = SBContext.Current.User.DateFormat; 144
145
return _dateFormat; 146
} 147
} 148
149
} 150
} 151





}