Asp.net源码专业站
首页->博客空间->SpaceBuilder v1.1源代码>>BasicWebControls/Manage/Event/ManageEventCategories.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
当前文件:文件类型 SpaceBuider11/BasicWebControls/Manage/Event/ManageEventCategories.cs[7K,2009-6-12 11:54:33]打开代码结构图
普通视图
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Inc. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7 8using System; 9using System.Collections.Generic; 10using System.Text; 11using SpaceBuilder.Components; 12using SpaceBuilder.Posts.Permissions; 13using System.Web.UI.WebControls; 14using SpaceBuilder.Controls.Utils; 15using SpaceBuilder.Events.Components; 16using TunyNet.Data.Utils; 17using TunyNet.Utils; 18using SpaceBuilder.Utils; 19 20namespace SpaceBuilder.Web.Manage.Controls 21{ 22 /// <summary> 23 /// 管理活动类别 24 /// </summary> 25 public class ManageEventCategories : ManageBaseControl 26 { 27 SBContext sbContext; 28 Int32 depth = SpaceBuilder.Events.Configuration.EventConfiguration.Instance().CategoryDepth; 29 30 /// <summary> 31 /// 验证权限 32 /// </summary> 33 protected override void Authorize() 34 { 35 base.Authorize(); 36 37 if (!(SBContext.Current.User.IsEventAdministrator)) 38 PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 39 } 40 41 protected override void OnInit(EventArgs e) 42 { 43 if (SkinName == null) 44 SkinName = "Events/Skin-ManageEventCategories.ascx"; 45 46 sbContext = SBContext.Current; 47 base.OnInit(e); 48 } 49 50 protected override void OnLoad(EventArgs e) 51 { 52 base.OnLoad(e); 53 EnsureChildControls(); 54 RefreshJavaScript.RegisterRefresh(Page); 55 if (!Page.IsPostBack) 56 BindData(); 57 } 58 59 60 Child Controls 84 85 protected override void AttachChildControls() 86 { 87 eventCategoryListRepeater = FindControl("EventCategoryListRepeater") as Repeater; 88 createButton = FindControl("CreateButton") as ModalLink; 89 if (eventCategoryListRepeater != null) 90 { 91 eventCategoryListRepeater.ItemDataBound += new RepeaterItemEventHandler(eventCategoryListRepeater_ItemDataBound); 92 eventCategoryListRepeater.ItemCommand += new RepeaterCommandEventHandler(eventCategoryListRepeater_ItemCommand); 93 } 94 95 } 96 97 void BindData() 98 { 99 this.SetPageTitle("圈子类别管理"); 100 101 categories = EventCategories.GetAllCategories(); 102 if (createButton != null) 103 { 104 createButton.Url = ManagerUrls.Instance().AddRootEventCategory(); 105 } 106 eventCategoryListRepeater.DataSource = categories; 107 eventCategoryListRepeater.DataBind(); 108 } 109 110 111 void eventCategoryListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 112 { 113 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 114 { 115 EventCategory eventCategory = (EventCategory)e.Item.DataItem; 116 if (eventCategory != null) 117 { 118 if (eventCategory.Depth <= depth) 119 { 120 Literal prefix = e.Item.FindControl("Prefix") as Literal; 121 if (prefix != null) 122 { 123 prefix.Text = PrefixForDepth(eventCategory); 124 } 125 126 HyperLink eventCategoryName = e.Item.FindControl("EventCategoryName") as HyperLink; 127 if (eventCategoryName != null) 128 { 129 eventCategoryName.Text = eventCategory.CategoryName; 130 eventCategoryName.NavigateUrl = ChannelUrls.Instance().EventShowCategory(eventCategory.CategoryID, 1); 131 eventCategoryName.Target = "_blank"; 132 } 133 134 Literal eventCount = e.Item.FindControl("EventCount") as Literal; 135 if (eventCount != null) 136 eventCount.Text = eventCategory.CumulateCount.ToString(); 137 ModalLink updateButton = e.Item.FindControl("UpdateButton") as ModalLink; 138 if (updateButton != null) 139 { 140 updateButton.Url = ManagerUrls.Instance().EditEventCategory(eventCategory.CategoryID); 141 } 142 LinkButton deleteButton = e.Item.FindControl("DeleteButton") as LinkButton; 143 { 144 deleteButton.CommandArgument = eventCategory.CategoryID.ToString(); 145 deleteButton.Attributes["onclick"] = "if(!confirm(\"确认要删除此活动类别吗?\")) return false;"; 146 } 147 if (depth >= (eventCategory.Depth + 1)) 148 { 149 ModalLink addChildCategory = e.Item.FindControl("AddChildCategory") as ModalLink; 150 if (addChildCategory != null) 151 { 152 addChildCategory.Visible = true; 153 addChildCategory.Url = ManagerUrls.Instance().AddChildEventCategory(eventCategory.CategoryID); 154 } 155 } 156 } 157 else 158 { 159 e.Item.Visible = false; 160 } 161 } 162 } 163 } 164 165 private string PrefixForDepth(EventCategory eventCategory) 166 { 167 string prefixString = string.Empty; 168 for (int i = 1; i < eventCategory.Depth; i++) 169 { 170 prefixString += "  "; 171 } 172 return prefixString; 173 } 174 175 176 void eventCategoryListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 177 { 178 switch (e.CommandName) 179 { 180 case "Delete": 181 int eventCategoryID = Convert.ToInt32(e.CommandArgument); 182 if (DeleteEventCategoryStatus.ExistsEvent == EventCategories.Delete(eventCategoryID)) 183 { 184 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), this.GetType().FullName, "alert('您必须删除该类别下的所有活动才能删除此类别!');", true); 185 } 186 //else 187 //{ 188 // sbContext.Context.Response.Redirect(ManagerUrls.Instance().ManageEventCategories()); 189 //} 190 BindData(); 191 break; 192 } 193 } 194 195 196 property 199 } 200} 201
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.1源代码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作: