温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Network Technology Co., Ltd. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Collections.Generic; 9
using System.Text; 10
using SpaceBuilder.Components; 11
using SpaceBuilder.Controls.Utils; 12
using System.Web.UI.WebControls; 13
using SpaceBuilder.Clubs.Components; 14
using SpaceBuilder.Utils; 15
using SpaceBuilder.Blogs.Components; 16
using SpaceBuilder.Controls; 17
using SpaceBuilder.Clubs.Controls; 18
using TunyNet.Data.Utils; 19
using TunyNet.Utils; 20
21
namespace SpaceBuilder.Blogs.Controls 22
{ 23
public class MyBlogThreadListForClub : ClubDomainThemedControl 24
{ 25
private SBContext wlContext = null; 26
27
OnInit 47
48
Child Controls 56
57
protected override void AttachChildControls() 58
{ 59
breadCrumb = FindControl("BreadCrumb") as Literal; 60
pageTitle = FindControl("PageTitle") as Literal; 61
62
commendedPostsRepeater = FindControl("CommendedPostsRepeater") as Repeater; 63
pager = FindControl("Pager") as PostBackPager; 64
if (pager != null) 65
{ 66
pager.PageIndexChanged += new PagerEventHandler(pager_PageIndexChanged); 67
} 68
69
if (commendedPostsRepeater != null) 70
{ 71
commendedPostsRepeater.ItemDataBound += new RepeaterItemEventHandler(CommendedPostsRepeater_ItemDataBound); 72
//commendedPostsRepeater.ItemCommand += new RepeaterCommandEventHandler(CommendedPostsRepeater_ItemCommand); 73
} 74
} 75
76
void pager_PageIndexChanged(object sender, PagerEventArgs e) 77
{ 78
Bind(); 79
} 80
81
void Bind() 82
{ 83
string title = string.Format("<a href='{0}'>{1}</a> >> <a href='{2}'>博客文章</a>", ClubUrls.Instance().ClubDomainHome(CurrentClub.DomainName), CurrentClub.ClubName, ClubUrls.Instance().BlogHome(CurrentClub.DomainName)); 84
string title2 = CurrentClub.ClubName + " - 博客文章"; 85
86
this.SetPageTitle(title2); 87
if (breadCrumb != null) 88
breadCrumb.Text = title; 89
90
if (pageTitle != null) 91
pageTitle.Text = "我推荐的文章"; 92
93
94
CommendedPostQuery query = new CommendedPostQuery(); 95
query.ClubID = CurrentClub.ClubID; 96
query.ApplicationType = ApplicationType.Blog; 97
query.CommenderUserID = wlContext.User.UserID; 98
99
query.IncludeTags = false; 100
query.PageSize = 15; 101
query.PageIndex = pager.PageIndex; 102
103
PagingDataSet<CommendedPost> pds = CommendedPosts.GetCommendedPosts(query); 104
105
if (pds.TotalRecords > 0) 106
{ 107
pager.TotalRecords = pds.TotalRecords; 108
pager.PageSize = query.PageSize; 109
110
commendedPostsRepeater.DataSource = pds.Records; 111
commendedPostsRepeater.DataBind(); 112
} 113
114
} 115
116
private void CommendedPostsRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 117
{ 118
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 119
{ 120
CommendedPost cp = e.Item.DataItem as CommendedPost; 121
122
if (cp != null) 123
{ 124
BlogThread post = BlogPosts.GetThread(cp.PostID, true); 125
126
HyperLink subject = e.Item.FindControl("Subject") as HyperLink; 127
if (subject != null) 128
{ 129
subject.Text = StringUtils.Trim(cp.Subject, 20); 130
if (post.BlogPostType == BlogPostType.Article) 131
subject.Text += "[转帖]"; 132
else if (post.BlogPostType == BlogPostType.Post) 133
subject.Text += "[原创]"; 134
subject.ToolTip = cp.Subject; 135
subject.NavigateUrl = BlogUrls.Instance().ShowPost(post); 136
subject.Attributes["target"] = "_blank"; 137
} 138
139
HyperLink author = e.Item.FindControl("Author") as HyperLink; 140
if (author != null) 141
{ 142
author.Text = StringUtils.Trim(cp.Author, 20); 143
author.ToolTip = "查看 " + cp.Author + " 的空间"; 144
author.NavigateUrl = UserUrls.Instance().UserChannelHome(cp.AuthorUserID, UserDomainMenuType.Profile); 145
author.Attributes["target"] = "_blank"; 146
} 147
148
Literal replies = e.Item.FindControl("Replies") as Literal; 149
if (replies != null) 150
replies.Text = post.ReplyCount.ToString(); 151
152
Literal totalViews = e.Item.FindControl("TotalViews") as Literal; 153
if (totalViews != null) 154
totalViews.Text = post.HitTimes.ToString(); 155
156
Literal postDate = e.Item.FindControl("PostDate") as Literal; 157
if (postDate != null) 158
postDate.Text = Formatter.FormatDate(post.PostDate); 159
160
Literal tagNames = e.Item.FindControl("TagNames") as Literal; 161
if (tagNames != null && post.Tags.Count > 0) 162
{ 163
foreach (ClubTag tag in cp.Tags) 164
{ 165
tagNames.Text += tag.TagName + ","; 166
} 167
if (tagNames.Text.Length > 0) 168
tagNames.Text = tagNames.Text.TrimEnd(new char[] { ',' }); 169
} 170
171
HyperLink commender = e.Item.FindControl("Commender") as HyperLink; 172
if (commender != null) 173
{ 174
commender.Text = StringUtils.Trim(cp.Commender, 20); 175
commender.ToolTip = "查看 " + cp.Author + " 的空间"; 176
commender.NavigateUrl = UserUrls.Instance().UserChannelHome(cp.CommenderUserID, UserDomainMenuType.Profile); 177
commender.Attributes["target"] = "_blank"; 178
} 179
180
Literal commendedDate = e.Item.FindControl("CommendedDate") as Literal; 181
if (commendedDate != null) 182
commendedDate.Text = Formatter.FormatDate(cp.CommendedDate); 183
} 184
} 185
} 186
187
} 188
} 189
190





}
}