/// <summary> /// 提交评论回复按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ReplyBtn_Click(object sender, EventArgs e) { Button replyBtn = (Button)sender; HiddenField hiddenCmntId = replyBtn.Parent.FindControl("HiddenCmntId") as HiddenField; HiddenField hiddenAimsId = replyBtn.Parent.FindControl("HiddenAimsId") as HiddenField; TextBox replyText = replyBtn.Parent.FindControl("ReplyText") as TextBox; Panel cmntReplyPanel = replyBtn.Parent as Panel; Repeater repeateReply = cmntReplyPanel.Parent.FindControl("ReptCmntReply") as Repeater; try { if (!IsSignIn()) { Response.Redirect(URL_SIGNIN); return; } User user = (User)Session["User"]; NoticeReply noticeReply = new NoticeReply() { CmntId = Int64.Parse(hiddenCmntId.Value), UserId = user.Id, Contents = replyText.Text.Trim(), ReplyDate = DateTime.Now.ToLocalTime(), }; string _aimsId = hiddenAimsId.Value; // 获取回复目标编号 if (!String.IsNullOrEmpty(_aimsId)) { Int64 aimsId = Int64.Parse(_aimsId); noticeReply.AimsId = aimsId; } // 添加回复记录到数据库 bool isOk = NoticeReplyService.AddNoticeReply(noticeReply); // 刷新评论区域 if (isOk) { replyText.Text = ""; // 清空输入框 DisplayNoticeCmntReply(repeateReply, noticeReply.CmntId); } } catch (Exception ex) { PromptInfo.Text = ex.Message; } }
/// <summary> /// 显示失物招领启示评论的回复 /// </summary> /// <param name="repeater">回复所在的控件对象</param> /// <param name="cmntId">评论 ID</param> protected void DisplayNoticeCmntReply(Repeater repeater, Int64 cmntId) { try { if (cmntId > 0) { DataTable data = NoticeReplyService.GetNoticeReplyById(cmntId); if (data != null) { repeater.DataSource = data; repeater.DataBind(); } } } catch (Exception) { String msg = String.Format("获取评论 ID 为 {0} 的回复失败! -> DisplayNoticeCmntReply()", cmntId); throw new Exception(msg); } }