您目前尚未登陆,请选择【登陆】或【注册
首页->博客论坛->SpaceBuilder v1.1源代码>>BasicWebControls/Utility/CommendedUserEditor.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
普通视图
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Inc. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10using SpaceBuilder.Controls.BaseClasses; 11using SpaceBuilder.Components; 12using System.Web.UI.WebControls; 13using TunyNet.Data.Utils; 14using TunyNet.Web.UI; 15using SpaceBuilder.Controls; 16using SpaceBuilder.Controls.Utils; 17using System.Web.UI.HtmlControls; 18using SpaceBuilder.Posts.Permissions; 19 20namespace SpaceBuilder.Web.Controls 21{ 22 /// <summary> 23 /// 编辑推荐用户 24 /// </summary> 25 public class CommendedUserEditor : TemplatedWebControl 26 { 27 SBContext sbContext = SBContext.Current; 28 29 UserType userType = UserType.PersonUser; 30 int userID = -1; 31 32 protected override void OnInit(EventArgs e) 33 { 34 sbContext = SBContext.Current; 35 if (!(sbContext.User.IsContentAdministrator)) 36 PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 37 38 if (SkinName == null) 39 ExternalSkinFileName = "Utility/Skin-CommendedUserEditor.ascx"; 40 else 41 ExternalSkinFileName = SkinName; 42 base.OnInit(e); 43 } 44 45 /// <summary> 46 /// 信息提示显示 47 /// </summary> 48 StatusMessage statusMessage; 49 HtmlContainerControl commendUserBlock; 50 51 /// <summary> 52 /// 推荐列表下拉列表 53 /// </summary> 54 DropDownList commendTypesDropDownList; 55 56 /// <summary> 57 /// 推荐按钮 58 /// </summary> 59 LinkButton commendButton; 60 61 Repeater commendedRepeater; 62 63 /// <summary> 64 /// 排序字段 65 /// </summary> 66 TextBox sortOrder; 67 68 protected override void AttachChildControls() 69 { 70 statusMessage = FindControl("StatusMessage") as StatusMessage; 71 commendUserBlock = FindControl("CommendUserBlock") as HtmlContainerControl; 72 73 commendTypesDropDownList = FindControl("CommendTypesDropDownList") as DropDownList; 74 commendButton = FindControl("CommendButton") as LinkButton; 75 commendButton.Click += new EventHandler(CommendButton_Click); 76 sortOrder = FindControl("SortOrder") as TextBox; 77 78 commendedRepeater = FindControl("CommendedRepeater") as Repeater; 79 commendedRepeater.ItemDataBound += new RepeaterItemEventHandler(CommendedRepeater_ItemDataBound); 80 commendedRepeater.ItemCommand += new RepeaterCommandEventHandler(CommendedRepeater_ItemCommand); 81 } 82 83 84 protected override void OnLoad(EventArgs e) 85 { 86 base.OnLoad(e); 87 EnsureChildControls(); 88 89 Header.AddTitle("推荐用户", Context); 90 91 if (sbContext.GetIntFromQueryString("UserType",-1)>0) 92 userType = (UserType)sbContext.GetIntFromQueryString("UserType",-1); 93 94 if (sbContext.GetIntFromQueryString("UserID",-1)>0) 95 userID = sbContext.GetIntFromQueryString("UserID",-1); 96 97 if (userID<=0) 98 return; 99 100 if (!Page.IsPostBack) 101 Bind(); 102 103 } 104 105 private void Bind() 106 { 107 CommendedUserQuery query = new CommendedUserQuery(); 108 query.UserType = userType; 109 query.UserID = userID; 110 query.PageSize = 999; 111 query.IgnorePaging = true; 112 113 PagingDataSet<CommendedUser> commendedUsers = CommendedUsers.GetCommendedUsers(query); 114 commendedRepeater.DataSource = commendedUsers.Records; 115 commendedRepeater.DataBind(); 116 117 commendUserBlock.Visible = true; 118 statusMessage.Visible = false; 119 120 121 IList<CommendedUserType> types = CommendedUsers.GetCommendedUserTypes(userType); 122 123 commendTypesDropDownList.Items.Clear(); 124 foreach (CommendedUserType type in types) 125 { 126 bool exist = false; 127 foreach (CommendedUser cu in commendedUsers.Records) 128 { 129 if (type.TypeID == cu.TypeID) 130 { 131 exist = true; 132 break; 133 } 134 } 135 136 if (!exist) 137 commendTypesDropDownList.Items.Add(new ListItem(type.TypeName, type.TypeID.ToString())); 138 } 139 140 if (commendTypesDropDownList.Items.Count == 0) 141 { 142 commendUserBlock.Visible = false; 143 statusMessage.Visible = true; 144 } 145 146 if (sortOrder != null) 147 { 148 sortOrder.Text = Convert.ToString(0); 149 } 150 } 151 152 153 void CommendButton_Click(object sender, EventArgs e) 154 { 155 User currentUser = Users.GetUser(userID, false); 156 157 if (currentUser != null) 158 { 159 CommendedUser cu = new CommendedUser(); 160 cu.UserType = userType; 161 cu.UserID = currentUser.UserID; 162 cu.UserName = currentUser.UserName; 163 cu.DisplayName = currentUser.DisplayName; 164 cu.TypeID = int.Parse(commendTypesDropDownList.SelectedValue); 165 if (sortOrder.Text != "") 166 { 167 cu.SortOrder = int.Parse(sortOrder.Text); 168 } 169 170 CommendedUsers.CreateCommendedUser(cu); 171 ModalHelper.ClosePage(Page); 172 } 173 else 174 { 175 statusMessage.Visible = true; 176 statusMessage.Text = "该用户不存在"; 177 statusMessage.MessageType = StatusMessageType.Error; 178 } 179 } 180 181 182 void CommendedRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 183 { 184 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 185 { 186 CommendedUser cu = e.Item.DataItem as CommendedUser; 187 if (cu != null) 188 { 189 Label typeName = e.Item.FindControl("TypeName") as Label; 190 if (typeName != null) 191 typeName.Text = cu.TypeName; 192 193 ImageButton deleteButton = e.Item.FindControl("DeleteButton") as ImageButton; 194 if (deleteButton != null) 195 { 196 deleteButton.CommandArgument = cu.CommendID.ToString(); 197 deleteButton.ToolTip = "取消推荐"; 198 deleteButton.Attributes["onclick"] = "if (!confirm('确实要取消此用户推荐吗?')) return false;"; 199 } 200 } 201 } 202 } 203 204 void CommendedRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 205 { 206 if (e.CommandName == "Delete") 207 { 208 int commendID = int.Parse(e.CommandArgument.ToString()); 209 CommendedUsers.DeleteCommendedUser(commendID); 210 Bind(); 211 } 212 } 213 214 } 215} 216
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.1源代码