<%@ 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">&nbsp;</a><img src="hander/WaterMark.ashx" id="vimg" alt="" /><input
                    type="button" value="换一张图片" onclick="change()" />
                &nbsp;&nbsp;&nbsp;<asp:TextBox ID="txtCode" ValidationGroup="qinglun"  runat="server" CssClass="txtcode"></asp:TextBox>
                &nbsp;&nbsp;&nbsp;<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; ;
            }
        }
    }

 posted on 2009-03-11 17:00  李要南  阅读(267)  评论(0编辑  收藏  举报