温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
当前文件:
SpaceBuiderV10Source/BasicWebControls/Manage/Event/ManageEventCategories.cs[6K,2009-6-12 11:55:07],打开代码结构图
SpaceBuiderV10Source/BasicWebControls/Manage/Event/ManageEventCategories.cs[6K,2009-6-12 11:55:07],打开代码结构图1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Network Technology Co., Ltd. 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
public class ManageEventCategories : ManageBaseControl 23
{ 24
SBContext sbContext; 25
Int32 depth = SpaceBuilder.Events.Configuration.EventConfiguration.Instance().CategoryDepth; 26
27
protected override void Authorize() 28
{ 29
if (!(SBContext.Current.User.IsClubAdministrator)) 30
PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 31
} 32
33
protected override void OnInit(EventArgs e) 34
{ 35
if (SkinName == null) 36
SkinName = "Skin-ManageEventCategories.ascx"; 37
38
sbContext = SBContext.Current; 39
base.OnInit(e); 40
} 41
42
protected override void OnLoad(EventArgs e) 43
{ 44
base.OnLoad(e); 45
EnsureChildControls(); 46
RefreshJavaScript.RegisterRefresh(Page); 47
if (!Page.IsPostBack) 48
BindData(); 49
} 50
51
52
Child Controls 61
62
protected override void AttachChildControls() 63
{ 64
eventCategoryListRepeater = FindControl("EventCategoryListRepeater") as Repeater; 65
createButton = FindControl("CreateButton") as ModalLink; 66
if (eventCategoryListRepeater != null) 67
{ 68
eventCategoryListRepeater.ItemDataBound += new RepeaterItemEventHandler(eventCategoryListRepeater_ItemDataBound); 69
eventCategoryListRepeater.ItemCommand += new RepeaterCommandEventHandler(eventCategoryListRepeater_ItemCommand); 70
} 71
72
} 73
74
void BindData() 75
{ 76
this.SetPageTitle("圈子类别管理"); 77
78
categories = EventCategories.GetAllCategories(); 79
if (createButton != null) 80
{ 81
createButton.Url = ManagerUrls.Instance().AddRootEventCategory(); 82
} 83
eventCategoryListRepeater.DataSource = categories; 84
eventCategoryListRepeater.DataBind(); 85
} 86
87
88
void eventCategoryListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 89
{ 90
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 91
{ 92
EventCategory eventCategory = (EventCategory)e.Item.DataItem; 93
if (eventCategory != null) 94
{ 95
if (eventCategory.Depth <= depth) 96
{ 97
Literal prefix = e.Item.FindControl("Prefix") as Literal; 98
if (prefix != null) 99
{ 100
prefix.Text = PrefixForDepth(eventCategory); 101
} 102
103
HyperLink eventCategoryName = e.Item.FindControl("EventCategoryName") as HyperLink; 104
if (eventCategoryName != null) 105
{ 106
eventCategoryName.Text = eventCategory.CategoryName; 107
eventCategoryName.NavigateUrl = ChannelUrls.Instance().EventShowCategory(eventCategory.CategoryID, 1); 108
eventCategoryName.Target = "_blank"; 109
} 110
111
Literal eventCount = e.Item.FindControl("EventCount") as Literal; 112
if (eventCount != null) 113
eventCount.Text = eventCategory.CumulateCount.ToString(); 114
ModalLink updateButton = e.Item.FindControl("UpdateButton") as ModalLink; 115
if (updateButton != null) 116
{ 117
updateButton.Url = ManagerUrls.Instance().EditEventCategory(eventCategory.CategoryID); 118
} 119
LinkButton deleteButton = e.Item.FindControl("DeleteButton") as LinkButton; 120
{ 121
deleteButton.CommandArgument = eventCategory.CategoryID.ToString(); 122
deleteButton.Attributes["onclick"] = "if(!confirm(\"确认要删除此活动类别吗?\")) return false;"; 123
} 124
if (depth >= (eventCategory.Depth + 1)) 125
{ 126
ModalLink addChildCategory = e.Item.FindControl("AddChildCategory") as ModalLink; 127
if (addChildCategory != null) 128
{ 129
addChildCategory.Visible = true; 130
addChildCategory.Url = ManagerUrls.Instance().AddChildEventCategory(eventCategory.CategoryID); 131
} 132
} 133
134
} 135
136
} 137
} 138
} 139
140
private string PrefixForDepth(EventCategory eventCategory) 141
{ 142
string prefixString = string.Empty; 143
for (int i = 1; i < eventCategory.Depth; i++) 144
{ 145
prefixString += " "; 146
} 147
return prefixString; 148
} 149
150
151
void eventCategoryListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 152
{ 153
switch (e.CommandName) 154
{ 155
case "Delete": 156
int eventCategoryID = Convert.ToInt32(e.CommandArgument); 157
if (DeleteEventCategoryStatus.ExistsEvent == EventCategories.Delete(eventCategoryID)) 158
{ 159
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), this.GetType().FullName, "alert('您必须删除该类别下的所有活动才能删除此类别!');", true); 160
} 161
//else 162
//{ 163
// sbContext.Context.Response.Redirect(ManagerUrls.Instance().ManageEventCategories()); 164
//} 165
BindData(); 166
break; 167
} 168
} 169
170
171
property 174
} 175
} 176






}
}