温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
1//------------------------------------------------------------------------------ 2
// <copyright company="Tunynet"> 3
// Copyright (c) Tunynet Network Technology Co., Ltd. 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
19
namespace SpaceBuilder.Web.Controls 20
{ 21
public class CommendedUserEditor : TemplatedWebControl 22
{ 23
SBContext wlContext = SBContext.Current; 24
25
UserType userType = UserType.PersonUser; 26
int userID = -1; 27
28
protected override void OnInit(EventArgs e) 29
{ 30
if (SkinName == null) 31
ExternalSkinFileName = "Utility/Skin-CommendedUserEditor.ascx"; 32
else 33
ExternalSkinFileName = SkinName; 34
35
wlContext = SBContext.Current; 36
37
base.OnInit(e); 38
} 39
40
StatusMessage statusMessage; 41
HtmlContainerControl commendUserBlock; 42
DropDownList commendTypesDropDownList; 43
LinkButton commendButton; 44
Repeater commendedRepeater; 45
TextBox sortOrder; 46
47
protected override void AttachChildControls() 48
{ 49
statusMessage = FindControl("StatusMessage") as StatusMessage; 50
commendUserBlock = FindControl("CommendUserBlock") as HtmlContainerControl; 51
52
commendTypesDropDownList = FindControl("CommendTypesDropDownList") as DropDownList; 53
commendButton = FindControl("CommendButton") as LinkButton; 54
commendButton.Click += new EventHandler(CommendButton_Click); 55
sortOrder = FindControl("SortOrder") as TextBox; 56
57
commendedRepeater = FindControl("CommendedRepeater") as Repeater; 58
commendedRepeater.ItemDataBound += new RepeaterItemEventHandler(CommendedRepeater_ItemDataBound); 59
commendedRepeater.ItemCommand += new RepeaterCommandEventHandler(CommendedRepeater_ItemCommand); 60
} 61
62
63
protected override void OnLoad(EventArgs e) 64
{ 65
base.OnLoad(e); 66
EnsureChildControls(); 67
68
Header.AddTitle("推荐用户", Context); 69
70
if (wlContext.GetIntFromQueryString("UserType",-1)>0) 71
userType = (UserType)wlContext.GetIntFromQueryString("UserType",-1); 72
73
if (wlContext.GetIntFromQueryString("UserID",-1)>0) 74
userID = wlContext.GetIntFromQueryString("UserID",-1); 75
76
if (userID<=0) 77
return; 78
79
if (!Page.IsPostBack) 80
Bind(); 81
82
} 83
84
private void Bind() 85
{ 86
CommendedUserQuery query = new CommendedUserQuery(); 87
query.UserType = userType; 88
query.UserID = userID; 89
query.PageSize = 999; 90
query.IgnorePaging = true; 91
92
PagingDataSet<CommendedUser> commendedUsers = CommendedUsers.GetCommendedUsers(query); 93
commendedRepeater.DataSource = commendedUsers.Records; 94
commendedRepeater.DataBind(); 95
96
commendUserBlock.Visible = true; 97
statusMessage.Visible = false; 98
99
100
IList<CommendedUserType> types = CommendedUsers.GetCommendedUserTypes(userType); 101
102
commendTypesDropDownList.Items.Clear(); 103
foreach (CommendedUserType type in types) 104
{ 105
bool exist = false; 106
foreach (CommendedUser cu in commendedUsers.Records) 107
{ 108
if (type.TypeID == cu.TypeID) 109
{ 110
exist = true; 111
break; 112
} 113
} 114
115
if (!exist) 116
commendTypesDropDownList.Items.Add(new ListItem(type.TypeName, type.TypeID.ToString())); 117
} 118
119
if (commendTypesDropDownList.Items.Count == 0) 120
{ 121
commendUserBlock.Visible = false; 122
statusMessage.Visible = true; 123
} 124
125
if (sortOrder != null) 126
{ 127
sortOrder.Text = Convert.ToString(0); 128
} 129
} 130
131
132
void CommendButton_Click(object sender, EventArgs e) 133
{ 134
User currentUser = Users.GetUser(userID, false); 135
136
if (currentUser != null) 137
{ 138
CommendedUser cu = new CommendedUser(); 139
cu.UserType = userType; 140
cu.UserID = currentUser.UserID; 141
cu.UserName = currentUser.UserName; 142
cu.DisplayName = currentUser.DisplayName; 143
cu.TypeID = int.Parse(commendTypesDropDownList.SelectedValue); 144
if (sortOrder.Text != "") 145
{ 146
cu.SortOrder = int.Parse(sortOrder.Text); 147
} 148
149
CommendedUsers.CreateCommendedUser(cu); 150
ModalHelper.ClosePage(Page); 151
} 152
else 153
{ 154
statusMessage.Visible = true; 155
statusMessage.Text = "该用户不存在"; 156
statusMessage.MessageType = StatusMessageType.Error; 157
} 158
} 159
160
161
void CommendedRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 162
{ 163
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 164
{ 165
CommendedUser cu = e.Item.DataItem as CommendedUser; 166
if (cu != null) 167
{ 168
Label typeName = e.Item.FindControl("TypeName") as Label; 169
if (typeName != null) 170
typeName.Text = cu.TypeName; 171
172
ImageButton deleteButton = e.Item.FindControl("DeleteButton") as ImageButton; 173
if (deleteButton != null) 174
{ 175
deleteButton.CommandArgument = cu.CommendID.ToString(); 176
deleteButton.ToolTip = "取消推荐"; 177
deleteButton.Attributes["onclick"] = "if (!confirm('确实要取消此用户推荐吗?')) return false;"; 178
} 179
} 180
} 181
} 182
183
void CommendedRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 184
{ 185
if (e.CommandName == "Delete") 186
{ 187
int commendID = int.Parse(e.CommandArgument.ToString()); 188
CommendedUsers.DeleteCommendedUser(commendID); 189
Bind(); 190
} 191
} 192
193
} 194
} 195





}
}