//增加删除
private void MyDataGrid_ItemCreated(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemIndex >= 0)
{
LinkButton btn = (LinkButton)e.Item.Cells[5].Controls[0];
if (btn != null)

btn.Attributes["onClick"] = "javascript:return confirm('È·ÈÏɾ³ý£¿');";
}
}
}

解决方案 »

  1.   

    作者:孟子E章在删除数据前进行确认是一个非常友好的做法。在本文里,我们就讨论利用TemplateColumn和Button服务端控件实现这种功能的方法。DeleteIt.aspx<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DeleteIt.aspx.vb" Inherits="aspxWeb.DeleteIt"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
      <HEAD>
        <title>WebForm1</title>
        <meta content="Microsoft Visual Studio .NET 7.0" name="GENERATOR">
        <meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
        <meta content="JavaScript" name="vs_defaultClientScript">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
      </HEAD>
      <body>
        <asp:label id="Label1" runat="Server"></asp:label>
        <form runat="server" ID="Form1">
          <asp:DataGrid id="myDataGrid" OnItemCreated="DataGrid_ItemCreated"
     DataKeyField="Title" AutoGenerateColumns="False" runat="server">
            <Columns>
              <asp:TemplateColumn>
                <ItemTemplate>
                  <asp:Button id="btnDelete" runat="Server"></asp:Button>
                </ItemTemplate>
              </asp:TemplateColumn>
              <asp:BoundColumn DataField="Title"></asp:BoundColumn>
              <asp:BoundColumn DataField="CreateDate" DataFormatString="{0:yyyy-M-d}"></asp:BoundColumn>
            </Columns>
          </asp:DataGrid>
        </form>
      </body>
    </HTML>后代码:DeleteIt.aspx.vbImports System.Web
    Imports System.Collections
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Web.UI.WebControlsPublic Class DeleteIt
      Inherits System.Web.UI.Page
      Protected WithEvents Label1 As System.Web.UI.WebControls.Label
      Protected WithEvents myDataGrid As System.Web.UI.WebControls.DataGrid#Region " Web 窗体设计器生成的代码 "  '该调用是 Web 窗体设计器所必需的。
      <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()  End Sub  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
      End Sub#End Region  Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        myDataGrid.HeaderStyle.Font.Bold = True
        myDataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center
        myDataGrid.Columns(0).HeaderText = "操作"
        myDataGrid.Columns(1).HeaderText = "标题"
        myDataGrid.Columns(2).HeaderText = "发布日期"    If Not IsPostBack Then
          Dim strCn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Test.mdb")
          Dim strSql As String 
          strSql = "SELECT Top 15 objectGuid,Title,CreateDate FROM Document Order By CreateDate Desc"
          Dim cn As New OleDbConnection(strCn)
          cn.Open()
          Dim cmd As New OleDbCommand(strSql, cn)      myDataGrid.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection)
          myDataGrid.DataBind()
          cmd.Dispose()
          cmd = Nothing
          cn.Close()
          cn.Dispose()
          cn = Nothing
        End If
      End Sub  Sub DataGrid_ItemCreated(ByVal Sender As Object, ByVal e As DataGridItemEventArgs)_
     Handles myDataGrid.ItemCreated
        Select Case e.Item.ItemType
          Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
            Dim myDeleteButton As Button
            myDeleteButton = e.Item.FindControl("btnDelete")
            myDeleteButton.Text = "删除此行"
            myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 "_
     + e.Item.ItemIndex.ToString + " 行吗?');")
        End Select
      End Sub  Private Sub myDataGrid_ItemCommand(ByVal source As Object, _
    ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)_
     Handles myDataGrid.ItemCommand
        Response.Write("您要删除的是:<font color=red>" + e.Item.Cells(1).Text + "</font>")
        e.Item.BackColor = System.Drawing.Color.Ivory
      End Sub
    End Class
      

  2.   

    谢谢上面的两位朋友。我用了 ztj81(幽默灵光) 的方法,很好用。
    我本来就是想要C#的方法,而 laodeng72586(只是路过) 给出的是VB.NET的方法,怪我没说清楚,不过,我是把提问放在C#区里啊。:)就只好委屈 laodeng72586(只是路过) 朋友一下。分少一点吧。