温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
当前文件:
SpaceBuider11/BasicWebControls/Manage/Event/EventSearchResult.cs[9K,2009-6-12 11:54:33],打开代码结构图
SpaceBuider11/BasicWebControls/Manage/Event/EventSearchResult.cs[9K,2009-6-12 11:54:33],打开代码结构图1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
8
using System; 9
using System.Collections.Generic; 10
using System.Text; 11
using SpaceBuilder.Components; 12
using SpaceBuilder.Posts.Permissions; 13
using System.Web.UI.WebControls; 14
using SpaceBuilder.Controls.Utils; 15
using SpaceBuilder.Events.Components; 16
using TunyNet.Data.Utils; 17
using TunyNet.Utils; 18
using SpaceBuilder.Utils; 19
20
namespace SpaceBuilder.Web.Manage.Controls 21
{ 22
/// <summary> 23
/// 活动搜索结果显示 24
/// </summary> 25
public class EventSearchResult : ManageBaseControl 26
{ 27
SBContext wlContext; 28
29
/// <summary> 30
/// 验证权限 31
/// </summary> 32
protected override void Authorize() 33
{ 34
base.Authorize(); 35
36
if (!(SBContext.Current.User.IsEventAdministrator)) 37
PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 38
} 39
40
protected override void OnInit(EventArgs e) 41
{ 42
if (SkinName == null) 43
SkinName = "Events/Skin-EventSearchResult.ascx"; 44
45
wlContext = SBContext.Current; 46
base.OnInit(e); 47
} 48
49
protected override void OnLoad(EventArgs e) 50
{ 51
base.OnLoad(e); 52
if (!Page.IsPostBack) 53
DataBind(); 54
} 55
56
public override void DataBind() 57
{ 58
base.DataBind(); 59
BindData(); 60
} 61
62
63
Child Controls 76
77
protected override void AttachChildControls() 78
{ 79
eventListRepeater = FindControl("EventListRepeater") as Repeater; 80
pager = FindControl("Pager") as PostBackPager; 81
pager.PageIndexChanged += new PagerEventHandler(pager_PageIndexChanged); 82
83
if (eventListRepeater != null) 84
{ 85
eventListRepeater.ItemDataBound += new RepeaterItemEventHandler(EventListRepeater_ItemDataBound); 86
eventListRepeater.ItemCommand += new RepeaterCommandEventHandler(EventListRepeater_ItemCommand); 87
} 88
89
} 90
91
void BindData() 92
{ 93
this.SetPageTitle("活动管理"); 94
95
EventQuery query = new EventQuery(); 96
query.ConvertFromQueryString(); 97
query.IsAdministrator = true; 98
query.MaxRecords = 500; 99
query.PageIndex = pager.PageIndex; 100
query.PageSize = displayItemCount; 101
PagingDataSet<EventThread> pds = SpaceBuilder.Events.Components.Events.GetEvents(query); 102
103
eventListRepeater.DataSource = pds.Records; 104
eventListRepeater.DataBind(); 105
106
if (pds.Records != null) 107
{ 108
pager.TotalRecords = pds.TotalRecords; 109
pager.PageSize = query.PageSize; 110
} 111
} 112
113
void EventListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 114
{ 115
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 116
{ 117
EventThread eventThread = e.Item.DataItem as EventThread; 118
if (eventThread != null) 119
{ 120
HyperLink clubName = e.Item.FindControl("EventName") as HyperLink; 121
if (clubName != null) 122
{ 123
clubName.Text = eventThread.EventName; 124
clubName.NavigateUrl = ChannelUrls.Instance().ShowEvent(eventThread.EventID); 125
clubName.Target = "_blank"; 126
} 127
128
HyperLink eventManager = e.Item.FindControl("EventManager") as HyperLink; 129
if (eventManager != null) 130
{ 131
eventManager.Text = eventThread.Sponsor; 132
eventManager.NavigateUrl = UserUrls.Instance().UserChannelHome(eventThread.UserID, UserDomainMenuType.Profile); 133
} 134
135
Literal eventCategory = e.Item.FindControl("EventCategory") as Literal; 136
if (eventCategory != null) 137
eventCategory.Text = ValueHelper.SafeWordValue(Wordbook.Instance().EventCategories, eventThread.CategoryID, string.Empty); 138
139
Literal area = e.Item.FindControl("Area") as Literal; 140
if (area != null) 141
area.Text = ValueHelper.SafeWordValue(Wordbook.Instance().Areas, eventThread.AreaID, string.Empty); 142
143
Literal secrecy = e.Item.FindControl("Secrecy") as Literal; 144
if (secrecy != null) 145
secrecy.Text = eventThread.SecrecyTypeText; 146
147
Literal status = e.Item.FindControl("Status") as Literal; 148
if (status != null) 149
{ 150
switch (eventThread.Status) 151
{ 152
case EventStatus.Canceled: 153
status.Text = "已取消"; 154
break; 155
case EventStatus.Published: 156
status.Text = "已发布"; 157
break; 158
case EventStatus.Finished: 159
status.Text = "已结束"; 160
break; 161
case EventStatus.Pending: 162
status.Text = "待处理"; 163
break; 164
default: 165
status.Text = string.Empty; 166
break; 167
} 168
} 169
//status.Text = eventThread.StatusText; 170
171
Literal lastUpdatedDate = e.Item.FindControl("LastUpdatedDate") as Literal; 172
if (lastUpdatedDate != null) 173
lastUpdatedDate.Text = Formatter.FormatDate(eventThread.LastUpdatedDate); 174
175
Literal memberCount = e.Item.FindControl("MemberCount") as Literal; 176
if (memberCount != null) 177
memberCount.Text = eventThread.MemberCount.ToString(); 178
179
Literal points = e.Item.FindControl("Points") as Literal; 180
if (points != null) 181
points.Text = eventThread.Points.ToString(); 182
183
Literal totalViews = e.Item.FindControl("TotalViews") as Literal; 184
if (totalViews != null) 185
totalViews.Text = eventThread.TotalViews.ToString(); 186
187
HyperLink manageLink = e.Item.FindControl("ManageLink") as HyperLink; 188
if (manageLink != null) 189
{ 190
if (eventThread.Status == EventStatus.Finished) 191
{ 192
manageLink.NavigateUrl = ChannelUrls.Instance().ShowEvent(eventThread.EventID); 193
} 194
else 195
{ 196
manageLink.NavigateUrl = ChannelUrls.Instance().UpdateEvent(eventThread.EventID); 197
} 198
manageLink.Target = "_blank"; 199
} 200
201
LinkButton deleteButton = e.Item.FindControl("DeleteButton") as LinkButton; 202
if (deleteButton != null) 203
{ 204
deleteButton.CommandArgument = eventThread.EventID.ToString(); 205
deleteButton.Attributes["onclick"] = "if (!confirm(\"确认要删除此活动吗?\")) return false;"; 206
} 207
208
} 209
} 210
} 211
212
void EventListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 213
{ 214
switch (e.CommandName) 215
{ 216
case "Delete": 217
int eventID = Convert.ToInt32(e.CommandArgument); 218
SpaceBuilder.Events.Components.Events.DeleteEventThread(eventID); 219
Page.Response.Redirect(wlContext.RawUrl, true); 220
break; 221
} 222
} 223
224
void pager_PageIndexChanged(object sender, PagerEventArgs e) 225
{ 226
BindData(); 227
} 228
229
property 241
} 242
} 243






}