我的代码:
Default.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test._Default" %>
<html >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" Width="100%" OnRowCommand="GridView1_RowCommand"
            OnRowDeleting="GridView1_RowDeleting"  >
   
        </asp:GridView>
    </div>
    </form>
</body>
</html>
Defalt.csusing System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace Test
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.Bind();
            }
        }        private void Bind()
        {
            GridView1.Columns.Clear();
            this.GetView(GridView1);
        }        public void GetView(GridView gv)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("部门编号", System.Type.GetType("System.String")));
            dt.Columns.Add(new DataColumn("部门名称", System.Type.GetType("System.String")));
            dt.Columns.Add(new DataColumn("部门描述", System.Type.GetType("System.String")));
            dt.Columns.Add(new DataColumn("部门主管", System.Type.GetType("System.String")));
            dt.Columns.Add(new DataColumn("生产车间", System.Type.GetType("System.String")));            for (int i = 0; i < dt.Columns.Count; i++)
            {
                BoundField dc = new BoundField();
                dc.DataField = dt.Columns[i].Caption;
                dc.HeaderText = dt.Columns[i].Caption;
                gv.Columns.Add(dc);            }            for (int i = 0; i < 4; i++)
            {
                if (i == 0)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = "00" + i.ToString();
                    dr[1] = "33车间";
                    dr[2] = "担任...";
                    dr[3] = "People";
                    dr[4] = "是";
                    dt.Rows.Add(dr);
                }
                if (i == 1)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = "00" + i.ToString();
                    dr[1] = "43车间";
                    dr[2] = "担任...";
                    dr[3] = "People";
                    dr[4] = "是";
                    dt.Rows.Add(dr);
                }
                if (i == 2)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = "00" + i.ToString();
                    dr[1] = "信息中心";
                    dr[2] = "所有信息管理";
                    dr[3] = "People";
                    dr[4] = "否";
                    dt.Rows.Add(dr);
                }
                if (i == 2)
                {
                    DataRow dr = dt.NewRow();
                    dr[0] = "00" + i.ToString();
                    dr[1] = "质量保障部门";
                    dr[2] = "质量管理";
                    dr[3] = "People";
                    dr[4] = "否";
                    dt.Rows.Add(dr);
                }
            }             ButtonField bf2 = new ButtonField();
             bf2.CommandName = "edit2";
             bf2.ButtonType = ButtonType.Link;
             bf2.Text = "修改";             gv.Columns.Add(bf2);             ButtonField bf3 = new ButtonField();
             bf3.CommandName = "delete";
            bf3.ButtonType = ButtonType.Link;
            bf3.Text = "删除";
            gv.Columns.Add(bf3);            gv.DataSource = dt;
            gv.AutoGenerateColumns = false;
            gv.DataBind();        }        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "edit2")  //修改
            {
                int index = Convert.ToInt32(e.CommandArgument.ToString());
                string id = Convert.ToString(GridView1.Rows[index].Cells[0].Text);
                Session["Id"] = id;                Response.Redirect("SystemManEdit.aspx");
            }
        }        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
                //删除,在这个里边执行删除事件
                  //在这里弹出删除确认框,然后执行后编代码,怎么写,求助
                   //  声明,不用windows弹出对话框
                if ()//删除条件
                {
                     //删除
                }  
                 else
                {
                    return;
                 }
        }            }
}

解决方案 »

  1.   

    这个得在客户端用脚本,一般是在删除链接上加上javascript:if(!confirm('xxxx?')return false;)
      

  2.   

    可以具体点吗?我的ButtonField 都是在后台里边写的,怎么在客户端上加javascript:if(!confirm('xxxx?')return false;)呢?
      

  3.   


    在page_load里面加
    button.Attributes["OnClick"] = "return confirm('Are you sure want to delete?')";
      

  4.   

    http://blog.csdn.net/ojekleen/archive/2007/12/03/1913490.aspx
      

  5.   

    方法一:
     <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />在RowDataBound事件中  
    ((LinkButton)e.Row.Cells[int].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除此自用记录吗?')");
    方法二:
    <asp:TemplateField ShowHeader="False">
      <ItemTemplate>
        <asp:Button ID="Button1" runat="server" usesValidation="false" CommandName="Delete"OnClientClick='if(confirm("是否删除该条记录?")) return true ;else return false ;' Text="删 除" />
      </ItemTemplate>
    </asp:TemplateField>
    在RowDeleting事件中操作删除
      

  6.   

    js:
    function toDelete(obj)
    {
        if (confirm("确定要删除此项数据吗?"))
        {
            document.all(obj).value="delete";
            document.forms.item(0).submit();
        }
     }   
    asp:
    <asp:HiddenField ID="hfDel" runat="server" />  //注意这点
    <asp:TemplateField HeaderText="操作">
         <ItemTemplate>
                     
       <asp:LinkButton ID="lbtnDel" runat="server" CommandArgument='<%# Eval("ContractCd") %>'
                                                    CommandName="Del" Text="删除"></asp:LinkButton>
          </ItemTemplate> 
     </asp:TemplateField>
    CS:
    protected void grvCnProfile_RowDataBound(object sender,GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                // 删除
                LinkButton lbtnDel = (LinkButton)e.Row.Cells[1].FindControl("lbtnDel");
                lbtnDel.Attributes.Add("OnClick", "toDelete('" + this.hfDel.ClientID + "')");
     
            }
        }  protected void grvCnProfile_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            // 删除
            if (e.CommandName == "Del")
            {
                  //判断是否真的要删除
                if (this.hfDel.Value == "delete")
                {
                   //在这里进行删除操作
                    this.hfDel.Value = "";
                }
            }
        }
      

  7.   

    对了 我那是在继承masterpage里用的
      

  8.   

                <asp:TemplateField ShowHeader="False" HeaderText="操作">
                                                <EditItemTemplate>
                                                    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                                                        Text="更新"></asp:LinkButton>
                                                    <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                                                        Text="取消"></asp:LinkButton>
                                                </EditItemTemplate>
                                                <ItemTemplate>
                                                    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" PostBackUrl='<%# Eval("ID", "~/Admin/Article/ArticleAdd.aspx?ID={0}&type=update") %>'
                                                        Text="编辑"></asp:LinkButton>
                                                    <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
                                                        CommandArgument='<%# Eval("ID") %>' Text="删除"  OnClientClick="return confirm('确认要删除此行信息吗?')"></asp:LinkButton>
                                                </ItemTemplate>
                                            </asp:TemplateField>  #region 删除数据
        protected void DataGrid_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int id, returnValue = 0;
            id = Convert.ToInt32(DataGrid.DataKeys[e.RowIndex].Value);
            try
            {
                returnValue = BLLMethod.Delete("Article", id);
            }
            catch
            {
                JScript.Alert("删除失败");
            }        if (returnValue > 0)
            {
                JScript.AlertAndRedirect("操作成功", "Article.aspx");
            }
            else
            {
                JScript.Alert("操作失败");
            }
        }
        #endregion
      

  9.   


    RowDataBound事件中需加入
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        ((LinkButton)e.Row.Cells[int].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你确认要删除吗?')");
    }
      

  10.   

    Cell[int]表示第int+1列表示的内容,所以”删除“在第几列就将int设为具体值。