<%@ Page Title="新闻内容页" Language="C#" MasterPageFile="~/Common.master" AutoEventWireup="true"
CodeFile="Newscontent.aspx.cs" Inherits="Newscontent" MaintainScrollPositionOnPostback="true" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script language="javascript" type="text/javascript">
function change() {
var imgNode = document.getElementById("vimg");
imgNode.src = "hander/WaterMark.ashx?t=" + (new Date()).valueOf(); // 这里加个时间的参数是为了防止浏览器缓存的问题
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div id="newscontent" class="commonfrm">
<h4>
<asp:Label ID="lblTitle" runat="server" Text=""></asp:Label></h4>
<p class="con">
<asp:Label ID="lblContent" runat="server" Text=""></asp:Label></p>
<div class="con_time">
发布时间:<asp:Label ID="lblCreateTime" runat="server" Text=""></asp:Label></div>
<a href="#com">我要评论</a>
</div>
<div id="newsreplay" class="commonfrm">
<h4>
新闻评论</h4>
<div class="replay" id="emptydata" runat="server">
<p> 该新闻目前暂无评论!</p>
</div>
<asp:Repeater ID="repComment" runat="server"
onitemdatabound="repComment_ItemDataBound">
<ItemTemplate>
<div class="replay">
<p class="con">
<%#Eval("content") %>
</p>
<p class="replay_info">
<asp:LinkButton ID="lbtnDelComment" runat="server" CommandArgument='<%#Eval("id") %>'
OnClientClick="return confirm('是否要真的删除该评论?')" OnClick="lbtnComment_Click" Visible="false">删除</asp:LinkButton>
评论者:
<%#Eval("userIp").ToString().Substring(0,Eval("userIp").ToString().LastIndexOf(".")+1)+"*" %>发布时间:
<%#Eval("createTime") %></p>
<hr />
</div>
</ItemTemplate>
</asp:Repeater>
<div class="addcoment">
<asp:TextBox ID="textComent" ValidationGroup="qinglun" runat="server" TextMode="MultiLine" Text="请在这里输入评论!"
CssClass="comment_con"></asp:TextBox>
<p>
验证码:<a name="com"> </a><img src="hander/WaterMark.ashx" id="vimg" alt="" /><input
type="button" value="换一张图片" onclick="change()" />
<asp:TextBox ID="txtCode" ValidationGroup="qinglun" runat="server" CssClass="txtcode"></asp:TextBox>
<asp:RequiredFieldValidator ValidationGroup="qinglun" ID="RequiredFieldValidator1" runat="server"
ErrorMessage="请输入验证码!" ControlToValidate="txtCode" Text="*"></asp:RequiredFieldValidator>
<asp:Button ID="btnSub" runat="server" ValidationGroup="qinglun" Text="提交" OnClick="btnSub_Click" /><asp:ValidationSummary
ID="ValidationSummary1" ValidationGroup="qinglun" runat="server" ShowMessageBox="true" ShowSummary="false" /></p>
</div>
</div>
</asp:Content>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
NewsManager nm = new NewsManager();
string newid = Request.QueryString["newid"];
News news = nm.SelectById(newid);
//设置新闻主体
lblContent.Text = news.Content;
lblTitle.Text = news.Title;
lblCreateTime.Text = news.CreateTime;
// 绑定新闻评论
NewsShow(newid);
}
}
private void NewsShow(string newid)
{
DataTable dt = new CommentManager().SelectByNewsId(newid);
if (dt.Rows.Count == 0)
{
//无新闻评论
emptydata.Visible = true;
repComment.DataSource = dt;
repComment.DataBind();
}
else
{
//有新闻评论
emptydata.Visible = false;
repComment.DataSource = dt;
repComment.DataBind();
}
}
//删除按钮
protected void lbtnComment_Click(object sender, EventArgs e)
{
//当前点击的按钮
LinkButton lb = (LinkButton)sender;
//获取传过来的commid
string comid = lb.CommandArgument;
//删除评论
bool b = new CommentManager().Delete(comid);
if (b)
{ // 重新绑定新闻评论
string newsid = Request.QueryString["newid"];
NewsShow(newsid);
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('评论删除失败,请联系管理员!');</script>");
}
}
//添加评论
protected void btnSub_Click(object sender, EventArgs e)
{
//判断验证码是否输入正确
string code = txtCode.Text.Trim().ToUpper();
string rightCode = Session["Code"].ToString();
if (code == "") {
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('请输入验证码!');</script>");
return;
}else if (code != rightCode)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('验证码输入错误!');</script>");
return;
}
//添加到数据库
string com_content = this.textComent.Text;
string newsId = Request.QueryString["newid"];
string userIp = Request.ServerVariables["REMOTE_ADDR"];
Comment c = new Comment(com_content, userIp, newsId);
bool b = new CommentManager().Insert(c);
if (b)
{
//清空文本
this.txtCode.Text = "";
this.textComent.Text = "";
// 重新绑定新闻评论
NewsShow(newsId);
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('评论添加失败,请联系管理员!');</script>");
}
}//根据session的值显示或者隐藏删除评论的按钮
protected void repComment_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType .AlternatingItem)
{
//判断session的值显示或者隐藏删除评论的按钮
if (Session["name"] != null && Session["name"].ToString() == "lijie")
{
((LinkButton)e.Item.FindControl("lbtnDelComment")).Visible = true; ;
}
}
}