asp.net 不用GridView自带删除功能,删除一行数据

  前台代码:

  

复制代码 代码如下:

  <asp:GridView ID="GridLog" runat="server"

  AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ID"

  BorderColor="#333" BorderStyle="solid" BorderWidth="1"

  OnRowDeleting="PublicGridRowDeleting"

  GridLines="None" Width="98%" ForeColor="#333333">

  <FooterStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True" />

  <Columns>

  <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="false"

  ReadOnly="True"

  SortExpression="ID" >

  <ItemStyle HorizontalAlign="Center" Width="20px" />

  </asp:BoundField>

  <asp:TemplateField HeaderText="删除" ShowHeader="False">

  <ItemStyle HorizontalAlign="Center" Width="40px" />

  <ItemTemplate>

  <asp:LinkButton ID="LinkButton1" runat="server"

  CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('您确认删

  除?');" Text="删除"></asp:LinkButton>

  </ItemTemplate>

  </asp:TemplateField>

  </Columns>

  <RowStyle BackColor="#EFF3FB" />

  <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333"

  />

  <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center"

  />

  <HeaderStyle BackColor="#5A799C" ForeColor="White" Height="22px" />

  <AlternatingRowStyle BackColor="White" />

  <EditRowStyle BackColor="#2461BF" />

  <EmptyDataTemplate>

  日志库暂时为空!

  </EmptyDataTemplate>

  </asp:GridView>

  CS代码

  

复制代码 代码如下:

  protected void PublicGridRowDeleting(object sender, GridViewDeleteEventArgs e)

  {

  string strID = GridLog.DataKeys[e.RowIndex].Value.ToString();//strID就是该行的ID

  string strSQL = "Delete from table " +

  " WHERE id = " + strID;

  //执行删除

  ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT

  LANGUAGE='javascript'>alert('删除成功!');</script>");

  GridBind();

  }

  关键是设定好DataKeyNames后,可以靠 string strID = GridLog.DataKeys

  [e.RowIndex].Value.ToString();获得选择列的ID值 然后用这个ID执行删除就可以了 。