温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.1源代码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Inc. All rights reserved. 4
// </copyright> 5
//------------------------------------------------------------------------------ 6
7
using System; 8
using System.Collections.Generic; 9
using System.Text; 10
using SpaceBuilder.Controls.BaseClasses; 11
using SpaceBuilder.Components; 12
using System.Web.UI.WebControls; 13
using TunyNet.Data.Utils; 14
using TunyNet.Web.UI; 15
using SpaceBuilder.Controls; 16
using SpaceBuilder.Controls.Utils; 17
using System.Web.UI.HtmlControls; 18
using SpaceBuilder.Posts.Permissions; 19
20
namespace 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





}