Asp.net源码专业站
首页->博客空间->SpaceBuilder v1.0正式版源码>>BasicWebControls/Manage/Message/ReplyMessage.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:SpaceBuilder v1.0正式版源码
当前文件:文件类型 SpaceBuiderV10Source/BasicWebControls/Manage/Message/ReplyMessage.cs[13K,2009-6-12 11:55:08]打开代码结构图
普通视图
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Network Technology Co., Ltd. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10using SpaceBuilder.Components; 11using SpaceBuilder.Security; 12using System.Web.UI.WebControls; 13using System.Web.UI.HtmlControls; 14using SpaceBuilder.Messages.Components; 15using SpaceBuilder.Utils; 16using SpaceBuilder.Posts.Permissions; 17using SpaceBuilder.Configuration; 18using SpaceBuilder.Controls; 19 20namespace SpaceBuilder.Web.Manage.Controls 21{ 22 /// <summary> 23 /// 暂时用InterestAdministrator,以后需要更改 24 /// </summary> 25 public class ReplyMessage : ManageBaseControl 26 { 27 SBContext wlContext; 28 29 protected override void Authorize() 30 { 31 if (!SBContext.Current.User.IsMessageAdministrator) 32 PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 33 } 34 35 protected override void OnInit(EventArgs e) 36 { 37 if (SkinName == null) 38 SkinName = "Skin-ReplyMessage.ascx"; 39 40 wlContext = SBContext.Current; 41 42 base.OnInit(e); 43 } 44 45 protected override void OnLoad(EventArgs e) 46 { 47 base.OnLoad(e); 48 EnsureChildControls(); 49 50 if (!Page.IsPostBack) 51 DataBind(); 52 } 53 54 public override void DataBind() 55 { 56 base.DataBind(); 57 BindData(); 58 } 59 60 61 Child Controls 102 103 protected override void AttachChildControls() 104 { 105 pageTitle = FindControl("PageTitle") as Literal; 106 107 toolbarAreaDiv = FindControl("toolbarAreaDiv") as HtmlGenericControl; 108 messageShowTable = FindControl("MessageShowTable") as HtmlTable; 109 replyMessageTable = FindControl("ReplyMessageTable") as HtmlTable; 110 textBoxReplyMessage = FindControl("TextBoxReplyMessage") as Editor; 111 replyButton = FindControl("ReplyButton") as LinkButton; 112 if (replyButton != null) 113 replyButton.Click += new EventHandler(ReplyButton_Click); 114 115 returnButton = FindControl("ReturnButton") as LinkButton; 116 if (returnButton != null) 117 returnButton.Click += new EventHandler(ReturnButton_Click); 118 119 //replyMessageImage = FindControl("ReplyMessageImage") as Image; 120 //replyMessageImage.ImageUrl = "~/Utility/Icons/icon_ReplyMessage.gif"; 121 122 //deleteMessageImage = FindControl("DeleteMessageImage") as Image; 123 //deleteMessageImage.ImageUrl = "/App_Themes/Default/Images/CommonIcons/icon_delete.gif"; 124 125 replyMessageButton = FindControl("ReplyMessageButton") as LinkButton; 126 replyMessageButton.Click += new EventHandler(ReplyMessageButton_Click); 127 128 deleteMessageButton = FindControl("DeleteMessageButton") as LinkButton; 129 deleteMessageButton.Click += new EventHandler(DeleteMessageButton_Click); 130 131 messageStatusTd = FindControl("MessageStatusTd") as HtmlTableCell; 132 messageStatus = FindControl("MessageStatus") as Literal; 133 134 replyCount = FindControl("ReplyCount") as Literal; 135 messageTypeName = FindControl("MessageTypeName") as Literal; 136 threadSender = FindControl("Sender") as HyperLink; 137 receiver = FindControl("Receiver") as HyperLink; 138 139 relativeUserTr = FindControl("RelativeUserTr") as HtmlTableRow; 140 relativeUserLabel = FindControl("RelativeUserLabel") as Label; 141 relativeUser = FindControl("RelativeUser") as HyperLink; 142 143 relativeItemTr = FindControl("RelativeItemTr") as HtmlTableRow; 144 relativeItemLabel = FindControl("RelativeItemLabel") as Label; 145 relativeItem = FindControl("RelativeItem") as HyperLink; 146 147 createDate = FindControl("CreateDate") as Literal; 148 subject = FindControl("Subject") as Literal; 149 threadBody = FindControl("ThreadBody") as Literal; 150 151 replyRepeater = FindControl("ReplyRepeater") as Repeater; 152 if (replyRepeater != null) 153 { 154 replyRepeater.ItemDataBound += new RepeaterItemEventHandler(ReplyRepeater_ItemDataBound); 155 //replyRepeater.ItemCommand += new RepeaterCommandEventHandler(ReplyRepeater_ItemCommand); 156 } 157 158 } 159 160 void BindData() 161 { 162 MessageThread message = SpaceBuilder.Messages.Components.Messages.GetMessage(wlContext.MessageID); 163 if (message == null) 164 PermissionBase.RedirectOrExcpetion(SBExceptionType.AccessDenied); 165 166 string isReply = wlContext.GetStringFromQueryString("IsReply", "false"); 167 if (bool.Parse(isReply)) 168 { 169 toolbarAreaDiv.Visible = false; 170 messageShowTable.Visible = false; 171 replyMessageTable.Visible = true; 172 if (pageTitle != null) 173 pageTitle.Text = "回复消息"; 174 this.SetPageTitle("回复消息"); 175 } 176 else 177 { 178 if (pageTitle != null) 179 pageTitle.Text = "显示消息详细内容"; 180 this.SetPageTitle("显示消息详细内容"); 181 } 182 183 //if ((message.MessageStatus == MessageStatus.Accept || message.MessageStatus == MessageStatus.Refuse) && (replyMessageToolbarDiv != null)) 184 // replyMessageToolbarDiv.Visible = false; 185 186 //设置消息为已读 187 if (message.TransportMode == TransportMode.Basic) 188 { 189 if (message.MessageType == MessageType.System) 190 { 191 if (!SpaceBuilder.Messages.Components.Messages.IsRead((int)MessageEspecialUserID.System, message)) 192 SpaceBuilder.Messages.Components.Messages.SetReadFlag((int)MessageEspecialUserID.System, true, message.ThreadID); 193 } 194 else 195 { 196 if (!SpaceBuilder.Messages.Components.Messages.IsRead((int)MessageEspecialUserID.Serve, message)) 197 SpaceBuilder.Messages.Components.Messages.SetReadFlag((int)MessageEspecialUserID.Serve, true, message.ThreadID); 198 } 199 200 } 201 202 if (message.MessageStatus != MessageStatus.NotSet) 203 { 204 messageStatusTd.Visible = true; 205 messageStatus.Text = SpaceBuilder.Messages.Components.Messages.GetStatusName(message.MessageStatus); 206 } 207 208 replyCount.Text = message.ReplyCount.ToString(); 209 messageTypeName.Text = Wordbook.Instance().MessageTypes[(int)message.MessageType] as string; 210 threadSender.Text = message.Sender; 211 if ((message.SenderUserID != (int)MessageEspecialUserID.System) && (message.SenderUserID != (int)MessageEspecialUserID.Serve)) 212 { 213 threadSender.NavigateUrl = UserUrls.Instance().UserChannelHome(message.SenderUserID, UserDomainMenuType.Profile); 214 threadSender.Attributes["target"] = "_blank"; 215 } 216 217 receiver.Text = message.Receiver; 218 if ((message.TransportMode == TransportMode.Basic) && (message.ReceiverUserID != (int)MessageEspecialUserID.System) && (message.ReceiverUserID != (int)MessageEspecialUserID.Serve)) 219 { 220 receiver.NavigateUrl = UserUrls.Instance().UserChannelHome(message.ReceiverUserID, UserDomainMenuType.Profile); 221 receiver.Attributes["target"] = "_blank"; 222 } 223 224 if (message.RelativeUserID != 0) 225 { 226 relativeUserTr.Visible = true; 227 relativeUser.Text = message.RelativeUser; 228 if ((message.TransportMode == TransportMode.Basic) && (message.RelativeUserID != (int)MessageEspecialUserID.System) && (message.RelativeUserID != (int)MessageEspecialUserID.Serve)) 229 { 230 relativeUser.NavigateUrl = UserUrls.Instance().UserChannelHome(message.RelativeUserID, UserDomainMenuType.Profile); 231 relativeUser.Attributes["target"] = "_blank"; 232 } 233 } 234 235 switch (message.MessageType) 236 { 237 case MessageType.Complain: 238 relativeUserLabel.Text = "被投诉人:"; 239 break; 240 } 241 242 if (message.RelativeItemID != 0) 243 { 244 relativeItemTr.Visible = true; 245 relativeItem.Text = message.RelativeItemName; 246 relativeItem.Attributes["target"] = "_blank"; 247 switch (message.MessageType) 248 { 249 case MessageType.Impeach: 250 relativeItemLabel.Text = "被举报人:"; 251 relativeItem.NavigateUrl = UserUrls.Instance().UserChannelHome(message.RelativeItemID, UserDomainMenuType.Profile); 252 break; 253 } 254 } 255 256 createDate.Text = Formatter.FormatDatePost(message.CreateDate); 257 subject.Text = message.Subject; 258 threadBody.Text = message.Body; 259 260 if (message.HasReplies) 261 { 262 replyRepeater.DataSource = message.Replies; 263 replyRepeater.DataBind(); 264 } 265 else 266 replyRepeater.Visible = false; 267 } 268 269 private void ReplyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 270 { 271 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 272 { 273 MessageReply reply = e.Item.DataItem as MessageReply; 274 if (reply != null) 275 { 276 277 HyperLink replier = e.Item.FindControl("Replier") as HyperLink; 278 Literal replyDate = e.Item.FindControl("ReplyDate") as Literal; 279 Literal replyBody = e.Item.FindControl("ReplyBody") as Literal; 280 281 replier.Text = reply.Replier; 282 if (reply.ReplierUserID > 0) 283 { 284 replier.NavigateUrl = UserUrls.Instance().UserChannelHome(reply.ReplierUserID, UserDomainMenuType.Profile); 285 } 286 287 replyDate.Text = Formatter.FormatDatePost(reply.CreateDate); 288 replyBody.Text = reply.Body; 289 } 290 } 291 } 292 293 /// <summary> 294 /// 回复消息 295 /// </summary> 296 protected void ReplyMessageButton_Click(Object sender, EventArgs e) 297 { 298 Context.Response.Redirect(ManagerUrls.Instance().ReplyMessage(wlContext.MessageID), true); 299 } 300 301 /// <summary> 302 /// 删除消息 303 /// </summary> 304 protected void DeleteMessageButton_Click(Object sender, EventArgs e) 305 { 306 int threadID = wlContext.MessageID; 307 MessageThread mt = SpaceBuilder.Messages.Components.Messages.GetMessage(threadID); 308 if (mt.MessageType == MessageType.System) 309 SpaceBuilder.Messages.Components.Messages.DeleteMessage((int)MessageEspecialUserID.System, mt, true); 310 else 311 SpaceBuilder.Messages.Components.Messages.DeleteMessage((int)MessageEspecialUserID.Serve, mt, true); 312 313 Context.Response.Redirect(ManagerUrls.Instance().ManageMessages((int)mt.MessageType), true); 314 } 315 316 /// <summary> 317 /// 回复消息 318 /// </summary> 319 protected void ReplyButton_Click(Object sender, EventArgs e) 320 { 321 if (!Page.IsValid) 322 return; 323 324 MessageReply mr = new MessageReply(); 325 mr.ThreadID = wlContext.MessageID; 326 mr.ReplierUserID = (int)MessageEspecialUserID.Serve; 327 mr.Replier = SiteSettingsManager.GetSiteSettings().SiteName; 328 mr.Body = textBoxReplyMessage.Text; 329 SpaceBuilder.Messages.Components.Messages.ReplyMessage(mr); 330 331 Context.Response.Redirect(ManagerUrls.Instance().ShowMessage(mr.ThreadID), true); 332 } 333 334 /// <summary> 335 /// 回复消息 336 /// </summary> 337 protected void ReturnButton_Click(Object sender, EventArgs e) 338 { 339 Context.Response.Redirect(ManagerUrls.Instance().ShowMessage(wlContext.MessageID), true); 340 } 341 342 } 343 344} 345
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:SpaceBuilder v1.0正式版源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146