当在前台我们绑定了一个linkbutton型的按钮,并触发了onserverclick="delBook_Server"的服务端事件,前台代码如下:

<asp:TemplateField HeaderText="删除">
             <ItemTemplate >
                 <a class="circle-btn admin_edit f1"   onclick="javascript:return delBook(this)"   onserverclick="delBook_Server"  ID="btnDelete"  runat="server" > <span><i class="imgDelIcon"></i>删除此书</span></a>
             </ItemTemplate>
                <HeaderStyle Width="150px" HorizontalAlign="Center"></HeaderStyle>
                <HeaderStyle BackColor="#507CD1" />
            </asp:TemplateField>


     在数据列表的索要删除的行的第一列是id标识,现在的问题是,如何获取id,并在数据库中删除,这是候我们可以通过sender参数获取触发了删除按钮的这一行。

protected void delBook_Server(Object Sender, EventArgs e)
    {
        HtmlAnchor s = (HtmlAnchor)Sender;
    //强制转换为锚标记
GridViewRow g
= (GridViewRow)s.Parent.NamingContainer;
//将他的父容器NamingContainer强制转换为GridViewRow
string id1 = ((HiddenField)g.Cells[0].FindControl("n0")).Value; //然后获取id,我的id类型为HiddenField
Int64 _id
= Convert.ToInt64(id1);      //执行删除云云......    
}