您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.0正式版源码>>BlogControls/Admin/ContentList.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
当前文件:文件类型 SpaceBuiderV10Source/BlogControls/Admin/ContentList.cs打开代码结构图
普通视图
		            
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; 9 10using SpaceBuilder.Blogs.Components; 11using SpaceBuilder.Components; 12using SpaceBuilder.Controls; 13using SpaceBuilder.Controls.Utils; 14using SpaceBuilder.Security; 15using SpaceBuilder.Utils; 16using SpaceBuilder.Posts.Permissions; 17using TunyNet.Utils; 18using TunyNet.Data.Utils; 19 20namespace SpaceBuilder.Blogs.Controls 21{ 22 23 public class ContentList : WeblogThemedControl 24 { 25 /// <summary> 26 /// 验证当前用户身份 27 /// </summary> 28 protected override void Authorize(Weblog w) 29 { 30 base.Authorize(w); 31 if (CurrentUser.IsAnonymous) 32 PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied, "不允许匿名用户访问"); 33 34 if (!CurrentUser.IsBlogAdministrator) 35 Permissions.AccessCheck(w, Permission.Post, CurrentUser); 36 } 37 38 private Literal pageTitle; 39 private HyperLink createWebPostButton; 40 private HyperLink manageTagsButton; 41 private Repeater postListRepeater; 42 private PostBackPager pager; 43 44 protected override void AttachChildControls() 45 { 46 pageTitle = FindControl("PageTitle") as Literal; 47 createWebPostButton = FindControl("CreateWebPostButton") as HyperLink; 48 manageTagsButton = FindControl("ManageTagsButton") as HyperLink; 49 50 pager = FindControl("Pager") as PostBackPager; 51 pager.PageIndexChanged += new PagerEventHandler(pager_PageIndexChanged); 52 53 postListRepeater = FindControl("PostListRepeater") as Repeater; 54 55 if (postListRepeater != null) 56 { 57 postListRepeater.ItemDataBound += new RepeaterItemEventHandler(PostListRepeater_ItemDataBound); 58 postListRepeater.ItemCommand += new RepeaterCommandEventHandler(PostListRepeater_ItemCommand); 59 } 60 } 61 62 protected override void OnLoad(EventArgs e) 63 { 64 base.OnLoad(e); 65 EnsureChildControls(); 66 if (!Page.IsPostBack) 67 DataBind(); 68 } 69 70 public override void DataBind() 71 { 72 base.DataBind(); 73 this.Bind(); 74 } 75 76 void Bind() 77 { 78 if (pageTitle != null) 79 pageTitle.Text = "管理我的文章"; 80 this.SetPageTitle("管理我的文章"); 81 82 createWebPostButton.NavigateUrl = BlogUrls.Instance().PostEditor(CurrentWeblog.ApplicationKey); 83 manageTagsButton.NavigateUrl = GlobalUrls.Instance().ManageUserTags(CurrentDomainUser.UserName, CurrentDomainUser.UserType, TagType.Blog); 84 85 BlogThreadQuery query = new BlogThreadQuery(); 86 query.SectionID = this.CurrentWeblog.SectionID; 87 query.BlogThreadType = BlogThreadType.Recent; 88 query.IncludeTags = true; 89 query.IsPublicFilter = false; 90 query.PageIndex = pager.PageIndex; 91 query.PageSize = this.displayItemCount; 92 query.SortOrder = SortOrder.Descending; 93 query.SortBy = BlogThreadSortBy.MostRecent; 94 95 PagingDataSet<BlogThread> threads = BlogPosts.GetBlogThreads(query); 96 postListRepeater.DataSource = threads.Records; 97 postListRepeater.DataBind(); 98 99 if (threads.Records != null) 100 { 101 pager.TotalRecords = threads.TotalRecords; 102 pager.PageSize = query.PageSize; 103 if (pager.TotalRecords <= pager.PageSize) 104 pager.ShowTotalSummary = false; 105 } 106 } 107 108 private void PostListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 109 { 110 BlogThread wet = e.Item.DataItem as BlogThread; 111 if (wet != null) 112 { 113 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 114 { 115 HyperLink litTitle = e.Item.FindControl("Title") as HyperLink; 116 if (litTitle != null) 117 { 118 litTitle.Text = StringUtils.Trim(wet.Subject, 15); 119 litTitle.NavigateUrl = BlogUrls.Instance().ShowPost(wet, CurrentWeblog); 120 litTitle.ToolTip = string.Format("{0}:{1}", ResourceManager.GetString("View"), WebUtils.HtmlDecode(wet.Subject)); 121 switch (wet.BlogPostType) 122 { 123 case BlogPostType.Post: 124 litTitle.Text += "[原创]"; 125 break; 126 case BlogPostType.Article: 127 litTitle.Text += "[转帖]"; 128 break; 129 } 130 } 131 132 Literal tags = e.Item.FindControl("Tags") as Literal; 133 if (tags != null) 134 { 135 if (wet.Tags.Count > 0) 136 { 137 foreach (UserTag tag in wet.Tags) 138 { 139 tags.Text += string.Format("<a href='{0}' title='此标签下还有{1}篇文章'>{2}</a>&nbsp;", GlobalUrls.Instance().ShowBlogPostsByTag(CurrentDomainUser.UserName, tag.TagName), tag.ItemCount, tag.TagName); 140 } 141 } 142 } 143 144 Literal litPubDate = e.Item.FindControl("PubDate") as Literal; 145 if (litPubDate != null) 146 litPubDate.Text = Formatter.FormatDate(wet.PostDate); 147 148 Image publishStatus = e.Item.FindControl("PublishStatus") as Image; 149 if (wet.IsPublic) 150 { 151 publishStatus.ImageUrl = "~/Utility/Icons/icon_true.gif"; 152 publishStatus.ToolTip = "此文章已发布"; 153 } 154 else 155 { 156 publishStatus.ToolTip = "此文章未发布"; 157 publishStatus.ImageUrl = "~/Utility/Icons/icon_false.gif"; 158 } 159 160 Literal litReads = e.Item.FindControl("Reads") as Literal; 161 if (litReads != null) 162 litReads.Text = wet.HitTimes.ToString(); 163 164 Literal litAggReads = e.Item.FindControl("AggReads") as Literal; 165 if (litAggReads != null) 166 litAggReads.Text = wet.RssViewTimes.ToString(); 167 168 Literal litComments = e.Item.FindControl("Comments") as Literal; 169 if (litComments != null) 170 litComments.Text = wet.ReplyCount.ToString(); 171 172 ImageButton EditButton = e.Item.FindControl("Edit") as ImageButton; 173 if (EditButton != null) 174 { 175 EditButton.CommandArgument = wet.PostID.ToString(); 176 //EditButton.Text = ResourceManager.GetString("Edit"); 177 } 178 179 ImageButton DeleteButton = e.Item.FindControl("Delete") as ImageButton; 180 if (DeleteButton != null) 181 { 182 DeleteButton.CommandArgument = wet.PostID.ToString(); 183 //DeleteButton.Text = ResourceManager.GetString("Delete"); 184 DeleteButton.Attributes["onclick"] = "if ( !confirm('确认要删除此篇文章吗?') ) {return false; } "; 185 } 186 187 HyperLink referrals = e.Item.FindControl("ReferralLink") as HyperLink; 188 if (referrals != null) 189 { 190 referrals.NavigateUrl = BlogUrls.Instance().ReferralToPost(this.CurrentWeblog.ApplicationKey, wet.PostID); 191 referrals.Text = "访问记录"; 192 } 193 } 194 } 195 } 196 197 private void PostListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 198 { 199 switch (e.CommandName) 200 { 201 case "Edit": 202 Context.Response.Redirect(BlogUrls.Instance().PostEditor(CurrentWeblog.ApplicationKey, int.Parse((string)e.CommandArgument)), true); 203 break; 204 case "Delete": 205 BlogPosts.DeletePost(int.Parse((string)e.CommandArgument)); 206 //Context.Response.Redirect(BlogUrls.Instance().ManageContents(CurrentWeblog.ApplicationKey), true); 207 Bind(); 208 break; 209 } 210 } 211 212 void pager_PageIndexChanged(object sender, PagerEventArgs e) 213 { 214 Bind(); 215 } 216 217 ... 227 } 228} 229
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.0正式版源码