ASP.NET中获取Repeater模板列中LinkButton按钮事件中获取ID等

时间:2021-09-18 15:50:56

前台页面中:

<asp:Repeater ID="repComment" runat="server">
            <ItemTemplate>
                <div class="reply">
            <!--一条评论就是一个DIV-->
            <p class="con">
               <%#Eval("content") %>
            </p>
            <p class="reply_info">
                <asp:LinkButton ID="lbtnDelComment" CommandArgument='<%#Eval("id") %>' runat="server" OnClick="lbtnDelComment_Click">删除</asp:LinkButton> 
                评论者:<%#Eval("userIp") %> 评论时间:<%#Eval("createTime") %>
            </p>
            <hr />
        </div>
            </ItemTemplate>
        </asp:Repeater>

删除新闻评论是通过评论ID去实现的,为了得到相应的评论ID,在LInkButton中用了一个属性CommandArgument,该属性的值绑定为评论的ID,在后台代码的按钮处理程序中:

//删除按钮的单击事件
    protected void lbtnDelComment_Click(object sender, EventArgs e)
    {
        //获取新闻ID
        string newsid = Request.QueryString["newsid"];
        //当前点击的按钮
        LinkButton lb = (LinkButton)sender;
        //获取传过来的CommentId
        string comId = lb.CommandArgument;
        //删除该条评论
        new CommentManager().Delete(comId);
        //删除完成后重新绑定新闻评论
        this.repComment.DataSource = new CommentManager().SelectByNewsId(newsid);
        this.repComment.DataBind();

}

即可单击LinkButton删除相应的新闻评论。