温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
当前文件:
SpaceBuider11/BasicWebControls/Manage/News/ManageNews.cs[8K,2009-6-12 11:54:33],打开代码结构图
SpaceBuider11/BasicWebControls/Manage/News/ManageNews.cs[8K,2009-6-12 11:54:33],打开代码结构图1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Collections; 9
using System.Collections.Generic; 10
using System.Text; 11
using System.Web.UI; 12
using System.Web.UI.HtmlControls; 13
using System.Web.UI.WebControls; 14
using SpaceBuilder.Components; 15
using SpaceBuilder.Controls.Utils; 16
using SpaceBuilder.Utils; 17
using SpaceBuilder.Security; 18
using SpaceBuilder.Clubs.Components; 19
using SpaceBuilder.Forums; 20
using TunyNet.Data.Utils; 21
using TunyNet.Utils; 22
using SpaceBuilder.Forums.Components; 23
using SpaceBuilder.Clubs.Controls; 24
using SpaceBuilder.Posts.Permissions; 25
using SpaceBuilder.Controls; 26
27
namespace SpaceBuilder.Web.Manage.Controls 28
{ 29
/// <summary> 30
/// 管理资讯 31
/// </summary> 32
public class ManageNews : ManageBaseControl 33
{ 34
SBContext wlContext; 35
36
protected override void OnInit(EventArgs e) 37
{ 38
if (SkinName == null) 39
SkinName = "News/Skin-ManageNews.ascx"; 40
41
wlContext = SBContext.Current; 42
43
base.OnInit(e); 44
} 45
46
/// <summary> 47
/// 验证权限 48
/// </summary> 49
protected override void Authorize() 50
{ 51
base.Authorize(); 52
53
if (!SBContext.Current.User.IsNewsAdministrator) 54
PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 55
} 56
57
protected override void OnLoad(EventArgs e) 58
{ 59
base.OnLoad(e); 60
EnsureChildControls(); 61
if (!Page.IsPostBack) 62
DataBind(); 63
64
SetPageTitle("站点资讯管理"); 65
} 66
67
public override void DataBind() 68
{ 69
base.DataBind(); 70
//BindData(); 71
} 72
73
74
Child Controls 92
/// <summary> 93
/// 附加子控件 94
/// </summary> 95
protected override void AttachChildControls() 96
{ 97
toolbarTable = FindControl("ToolbarTable") as HtmlGenericControl; 98
createMessageSpan = FindControl("CreateMessageSpan") as HtmlContainerControl; 99
100
createMessageButton = FindControl("CreateMessageButton") as LinkButton; 101
createMessageButton.Click += new EventHandler(CreateButton_Click); 102
103
batchDeleteButton = FindControl("BatchDeleteButton") as LinkButton; 104
batchDeleteButton.Click += new EventHandler(BatchDeleteButton_Click); 105
batchDeleteButton.Attributes["onclick"] = "return confirm('您确定要删除选中的资讯吗?');"; 106
107
108
SiteNewsCategoryDropDownList = FindControl("SiteNewsCategoryDropDownList") as SiteNewsCategoryDropDownList; 109
SiteNewsSubject = FindControl("SiteNewsSubject") as TextBox; 110
SearchButton = FindControl("SearchButton") as LinkButton; 111
if (SearchButton != null) 112
{ 113
SearchButton.Click += new EventHandler(SearchButton_Click); 114
} 115
116
pager = FindControl("Pager") as PostBackPager; 117
pager2 = FindControl("Pager2") as PostBackPager; 118
pager.PageIndexChanged += new PagerEventHandler(pager_PageIndexChanged); 119
120
repeater = FindControl("SiteNewsThreadRepeater") as SiteNewsThreadRepeater; 121
122
if (repeater != null) 123
{ 124
repeater.ItemCommand += new RepeaterCommandEventHandler(ClubPlacardsRepeater_ItemCommand); 125
126
string siteNewsSubject = SBContext.Current.GetStringFromQueryString("siteNewsSubject", string.Empty); 127
int siteNewsCategory = SBContext.Current.GetIntFromQueryString("siteNewsCategory", -1); 128
repeater.Subject = siteNewsSubject; 129
repeater.ForumID = siteNewsCategory; 130
} 131
132
if (repeater != null && pager != null) 133
{ 134
if (pager2 != null) 135
{ 136
pager2.PageIndex = pager.PageIndex; 137
pager2.TotalRecords = pager.TotalRecords; 138
} 139
} 140
} 141
142
void SearchButton_Click(object sender, EventArgs e) 143
{ 144
string siteNewsSubject = string.Empty; 145
if (SiteNewsSubject != null) 146
{ 147
siteNewsSubject = SiteNewsSubject.Text; 148
} 149
150
int siteNewsCategory = 0; 151
if (SiteNewsCategoryDropDownList != null) 152
{ 153
siteNewsCategory = SiteNewsCategoryDropDownList.SelectedValue; 154
} 155
156
string redirectPage = string.Format("{0}?siteNewsCategory={1}&siteNewsSubject={2}", ManagerUrls.Instance().NewsManage(), siteNewsCategory, siteNewsSubject); 157
this.Page.Response.Redirect(redirectPage, true); 158
} 159
160
protected override void OnPreRender(EventArgs e) 161
{ 162
base.OnPreRender(e); 163
this.BindPagingInfo(); 164
} 165
166
private void BindPagingInfo() 167
{ 168
if (repeater != null) 169
{ 170
repeater.PageIndex = pager.PageIndex; 171
repeater.Bind(); 172
173
if (repeater.Entities != null && repeater.Entities.Records != null) 174
{ 175
if (pager != null) 176
{ 177
pager.TotalRecords = repeater.Entities.TotalRecords; 178
pager.PageSize = repeater.DisplayItemCount; 179
} 180
181
if (pager2 != null) 182
{ 183
pager2.TotalRecords = repeater.Entities.TotalRecords; 184
pager2.PageSize = repeater.DisplayItemCount; 185
} 186
} 187
} 188
} 189
190
191
private void ClubPlacardsRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 192
{ 193
switch (e.CommandName) 194
{ 195
case "Edit": 196
Context.Response.Redirect(ManagerUrls.Instance().NewsEdit(int.Parse((string)e.CommandArgument))); 197
Context.Response.End(); 198
break; 199
} 200
} 201
202
/// <summary> 203
/// 添加新公告 204
/// </summary> 205
protected void CreateButton_Click(Object sender, EventArgs e) 206
{ 207
Context.Response.Redirect(ManagerUrls.Instance().NewsEdit(0), true); 208
} 209
210
/// <summary> 211
/// 批量删除公告 212
/// </summary> 213
protected void BatchDeleteButton_Click(Object sender, EventArgs e) 214
{ 215
int[] items = GetSelectedIDs(); 216
for (int i = 0; i < items.Length; i++) 217
{ 218
Forums.Components.ForumPosts.DeletePost(items[i]); 219
} 220
//Context.Response.Redirect(wlContext.RawUrl, true); 221
BindPagingInfo(); 222
} 223
224
void pager_PageIndexChanged(object sender, PagerEventArgs e) 225
{ 226
BindPagingInfo(); 227
} 228
229
protected Int32[] GetSelectedIDs() 230
{ 231
ArrayList selectedItems = new ArrayList(); 232
foreach (RepeaterItem item in this.repeater.Items) 233
{ 234
CheckBox selector = item.FindControl("Selector") as CheckBox; 235
if (selector != null && selector.Checked) 236
{ 237
Int32 postID = Convert.ToInt32(selector.Attributes["value"]); 238
selectedItems.Add(postID); 239
} 240
} 241
Int32[] IDs = new Int32[selectedItems.Count]; 242
selectedItems.CopyTo(IDs); 243
return IDs; 244
} 245
} 246
} 247






}