ASP.NET中获取Repeater模板列中LinkButton按钮事件中获取ID等
前台页面中:
<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删除相应的新闻评论。