62,046
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE [dbo].[Message](
[PKID] [int] IDENTITY(1,1) NOT NULL,
[FK_UserMaster] [int] NULL,
[FK_Link] [int] NULL,
[UserName] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL,
[UserEmail] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Body] [text] COLLATE Chinese_PRC_CI_AS NULL,
[Parent] [int] NULL,
[YesNum] [int] NULL,
[NoNum] [int] NULL,
[IsFuck] [bit] NULL,
[IP] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[CreateTime] [datetime] NULL,
[Memo] [text] COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_Message] PRIMARY KEY CLUSTERED
(
[PKID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
ascx.cs:
[code=C#]using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class Controls_www_ArticleFoot : System.Web.UI.UserControl
{
protected int PKID
{
get
{
return Request.QueryString["id"] == null ? 0 : int.Parse(Request.QueryString["id"].ToString());
}
}
protected void Page_Load(object sender, EventArgs e)
{
dataBindMessage();
this.TbMessage.Visible = IfMessage;
}
private bool _ifMessage=false;
public bool IfMessage
{
get {
return _ifMessage;
}
set {
_ifMessage = value;
}
}
private bool _ifSend = false;
public bool IfSend
{
get
{
return _ifSend;
}
set
{
_ifSend = value;
}
}
//绑定评论
protected void dataBindMessage()
{
this.DataList1.DataSource = DAL.DbHelperSQL.Query("select * from message where fk_link=" + PKID + " order by pkid desc");
this.DataList1.DataBind();
this.lblCount.Text = "评论(共" + this.DataList1.Items.Count + "条)";
}
//保存评论
protected void btnMessage_Click(object sender, EventArgs e)
{
if (GlobalFacade.PageContext.UserID == 0)
{
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>请先登录','#')", true);
Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>请先登录','#');}</script>");
return;
}
if (this.txtCheckCode.Text.ToLower() != Session["_CheckCode"].ToString().ToLower())
{
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>验证码错误!','#')", true);
Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>验证码错误','#');}</script>");
return;
}
string Body = string.Empty;
if (ViewState["YYID"] != null)
{
DataTable dt = DAL.DbHelperSQL.Query("select * from message where pkid=" + ViewState["YYID"].ToString()).Tables[0];
Body = this.txtBody.Text.Replace("[已引用]", "<div style=\" padding-left:30px;border-color:#FFA500;border-style:solid;border-width:1px\"><b>引用:</b><br/><font style=\"color:#616161\">" + dt.Rows[0]["userName"] +
"</font><font style=\"color:#9f7e4c\">(" + dt.Rows[0]["createtime"] + ")</font><br/>" + dt.Rows[0]["body"] + "</div>");
}
else
Body = this.txtBody.Text;
string Name = GlobalFacade.PageContext.TrueName;
DAL.DbHelperSQL.GetSingle("Insert into Message(FK_UserMaster,fk_link,Username,UserEmail,Body,Parent,CreateTime) values("+GlobalFacade.PageContext.UserID+"," +
PKID + ",'" + Name + "','" + GlobalFacade.PageContext.UserMaster.Email + "','" + Body + "',0,'" + System.DateTime.Now.ToString() + "')");
dataBindMessage();
SysProcedure.UI_UpdateArticleHot(PKID.ToString());
this.txtBody.Text = "";
this.txtCheckCode.Text = "";
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>");
}
//支持
protected void lbYesNum_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
DAL.DbHelperSQL.GetSingle("update message set yesNum=isnull(yesNum,0)+1 where pkid=" + messageid);
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>");
}
//反对
protected void LinkButton3_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
DAL.DbHelperSQL.GetSingle("update message set nonum=isnull(yesNum,0)+1 where pkid=" + messageid);
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>谢谢您的参与!','')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>谢谢您的参与','#');}</script>");
}
//引用
protected void LinkButton4_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
string messageid = lb.CssClass;
ViewState["YYID"] = messageid;
this.txtBody.Text = "[已引用]";
}
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
dataBindMessage();
}
//回复
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
string au_lname = ((TextBox)e.Item.FindControl("txtreplay")).Text.Trim();
DAL.DbHelperSQL.ExecuteSql("update message set [body]=Convert(nvarchar(4000),body)+'<br/><div style=\" padding-left:30px;border-color:red;border-style:solid;border-width:1px;color:red\"><b>主人回复:</b><br/>" + au_lname + "</div>' where pkid=" + au_id);
DataList1.EditItemIndex = -1;
dataBindMessage();
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "MessageShow", "sAlert('<br>评论成功!','#')", true);
//Page.RegisterStartupScript("myscript", "<script>window.onload=function(){sAlert('<br>评论成功','#');}</script>");
}
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
dataBindMessage();
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
DAL.DbHelperSQL.ExecuteSql("delete * from message where pkid=" + au_id);
dataBindMessage();
}
}
[/code]<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ArticleFoot.ascx.cs" Inherits="Controls_www_ArticleFoot" %>
<%@ Register Assembly="System.Web.Extensions" Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Src="../Controls/DataListTool.ascx" TagName="DataListTool" TagPrefix="uc2" %>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<% if (IfMessage)
{ %>
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="TbMessage" runat="server"
visible="false" class="tblinheight">
<tr class="commgray">
<td align=left style="border-top: #dedede solid 1px;">
用户评论
</td>
<td style="border-top: #dedede solid 1px;" align="right">
<b>
<asp:Label ID="lblCount" runat="server"></asp:Label></b>
</td>
</tr>
<tr>
<td colspan="2">
<asp:DataList ID="DataList1" runat="server" Width="100%" DataKeyField="PKID" OnCancelCommand="DataList1_CancelCommand"
OnDeleteCommand="DataList1_DeleteCommand" OnEditCommand="DataList1_EditCommand"
OnUpdateCommand="DataList1_UpdateCommand">
<ItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="namebox" align="left" colspan="2">
<font style="color: #616161">
<%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font>
</td>
</tr>
<tr>
<td colspan="2" align="left">
<font style="color: #333333;">
<%# Eval("Body") %></font>
</td>
</tr>
<tr>
<td style="border-bottom: #dedede solid 1px;">
</td>
<td align="right" style="border-bottom: #dedede solid 1px;">
<% if(GlobalFacade.PageContext.UserID>0){ %>
<asp:LinkButton ID="lbYesNum" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="lbYesNum_Click">支持(<%# Convert.ToString(Eval("YesNum")) == string.Empty ? "0" : Convert.ToString(Eval("YesNum"))%>)</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton3" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton3_Click">反对(<%# Convert.ToString(Eval("NoNum")) == string.Empty ? "0" : Convert.ToString(Eval("NoNum"))%>)</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton4" runat="server" CssClass='<%# Eval("PKID") %>' OnClick="LinkButton4_Click">引用</asp:LinkButton>
|
<% }%>
<% if (GlobalFacade.PageContext.FK_RoleType==1)
{ %>
<asp:LinkButton ID="LinkButton5" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Edit">回复</asp:LinkButton>
|
<asp:LinkButton ID="LinkButton6" runat="server" CssClass='<%# Eval("PKID") %>' CommandName="Delete">删除</asp:LinkButton>
<% } %>
</td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="namebox" align="left" colspan="2">
<font style="color: #616161">
<%# Eval("UserName") %></font><font style="color: #9f7e4c">(<%# Eval("CreateTime") %>)</font>
</td>
</tr>
<tr>
<td colspan="2" align="left">
<font style="color: #333333;">
<%# Eval("Body") %></font>
</td>
</tr>
<tr>
<td>
</td>
<td align="right" valign="top">
<div style="border-color: red; border-style: solid; border-width: 1px">
管理员回复:
<asp:TextBox ID="txtreplay" runat="server" Width="80%" TextMode="MultiLine" Height="100px"></asp:TextBox>
<br />
<asp:LinkButton ID="LinkButton1" Text="<img src='../sysImages/folder/yes.gif'>提 交" CommandName="Update"
runat="server"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" Text="<img src='../sysImages/folder/no.gif'>取 消" CommandName="Cancel"
runat="server"></asp:LinkButton>
</div>
</td>
</tr>
</table>
</EditItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td>
<uc2:DataListTool ID="DataListTool1" runat="server" />
</td>
</tr>
<tr>
<td background="img/list_back.gif">
</td>
</tr>
<tr>
<td>
<% if (GlobalFacade.PageContext.UserID > 0)
{ %>
<table width="98%" id="MessageTable">
<tr>
<td align="right" style="width: 25%" valign="top">
<nobr>*评论内容:</nobr>
</td>
<td align="left">
<asp:TextBox ID="txtBody" runat="server" Width="500px" TextMode="MultiLine" Height="150px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" style="width: 25%" valign="top">
*验证码:
</td>
<td align="left">
<asp:TextBox ID="txtCheckCode" runat="server"></asp:TextBox>
<img src="../Controls/ValidateCode.aspx" height="18" title="不区分大小写" alt="不区分大小写"
onclick='javascript:this.src="../Controls/ValidateCode.aspx?ro=" + Math.random();'
style="cursor: pointer; width: 70px;" />
</td>
</tr>
<tr>
<td align="right" style="width: 25%">
</td>
<td align="left">
<asp:Button ID="btnMessage" runat="server" CssClass="inputSubmit" Text="发表评论" OnClick="btnMessage_Click" />
<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="UpdatePanel2">
<ProgressTemplate>
<img src="../images/web/loading.gif"><span style=" color:#FF0000">正在提交数据。。。</span></a>
</ProgressTemplate>
</asp:UpdateProgress>
</td>
</tr>
</table>
<% }
else
{ %>
<p><a href="#"><span style=" font-weight:bold; color:Blue">登录</span></a>后才能发表评论</p>
<% } %>
</td>
</tr>
</table>
<% } %>
</ContentTemplate>
</asp:UpdatePanel>