<asp:TemplateColumn HeaderText="編輯">
<ItemTemplate>
<a style="CURSOR: hand" onclick="ondel()">刪除</a>
</ItemTemplate>
</asp:TemplateColumn>
<script   language="javascript">   
function ondel()   
{
   if(!confirm('您確信要刪除該紀錄嗎?')){return   false;}
    
}   
</script>

解决方案 »

  1.   

    用服务器端控件,ItemCommond事件里执行
      

  2.   

    <asp:TemplateColumn HeaderText="刪除">
    <ItemTemplate>
     <asp:LinkButton runat="server" ID="lbtnDelete" CommandName="del" >刪除</asp:LinkButton>
    </itemtemplate>
    </ItemTemplate>
    </asp:TemplateColumn>
    <script   language="javascript">   
    function ondel()   
    {
       if(!confirm('您確信要刪除該紀錄嗎?')){return   false;}
        
    }   
    </script>
    后台代码(我是2.0,用GridView,1.1也一样)protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
           
          if (e.CommandName="del")
          {
               //写你的代码
           }
        }
      

  3.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType==DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("ondblclick", "ReKey('" + e.Row.Cells[2].Text+"')");
                //e.Row.Attributes["style"] = "Cursor:hand"; 
                // //键盘事件
                //e.Row.Attributes.Add("OnKeyDown", "GridViewItemKeyDownEvent('" + e.Row.Cells[1].Text + "')");        }    }
      

  4.   

    <asp:TemplateField HeaderText="删除" ShowHeader="False">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
                                OnClientClick='return confirm("确认要删除吗?")' Text="删除"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
      

  5.   

    private void dgdNoticeInfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //删除用户时提示用户是否确认删除
    e.Item.Cells[1].Attributes.Add("onClick","return confirm('您确认删除吗?');"); //当选中datagrid的某行时,让这一行获得焦点(改变背景色)的事件
    }
      

  6.   

    //前台这样写注意commandName
    <asp:TemplateColumn HeaderText="删除">
    <ItemTemplate>
    <asp:LinkButton id="btn_del" runat="server" CommandName="Delete" ForeColor="#ff3300">删除</asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>后台itemcreate事件中写
    LinkButton btnDelete=(LinkButton)e.Item.FindControl("btn_del");
    btnDelete.Attributes.Add("onclick", "return confirm('你是否确定删除?');");在DeleteCommand中写:
    private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    string orderId = Request.QueryString["orderId"];
    string orderDetailId = e.Item.Cells[0].Text.Trim();
    string delete = "";
    delete =(new projClass()).deleteOrderDetailAsId(orderDetailId);
    if(delete != "1")
    Response.Write("<script>alert('删除失败!');</script>");
    else Response.Redirect("orderDetail.aspx?orderId="+orderId);
    }
      

  7.   

    只要在HTML里加上这一句就行了,只要控件的文本是“删除”的,就会激发这个事件,代码里什么都不用写
    <script language="javascript">
    function delete_confirm(e) 
    {
     if (event.srcElement.value=="删除" )
    event.returnValue=confirm("确认删除?");
    if (event.srcElement.outerText=="删除")
    event.returnValue=confirm("确认删除?");
    }
    document.onclick=delete_confirm;
    </script>
      

  8.   

    你在datagrid 里触发datagrid_DeleteCommand事件,在事件里写删除语句,就OK了啊,
      

  9.   

    再次感谢大家的回复,请各位看清问题再回复,谢谢!
    原代码已经实现删除前的确认工作,需要解决的问题是如何在确认后,执行sql删除语句。 
      

  10.   

    <a style="CURSOR: hand" onclick="ondel()">刪除</a>
    这个不要了改成BUTTON
    <asp:Button id="bbb" runat="server" OnClientClick="return ondel()" CommandName="Delete"/>//这里的COMMANDNAME是关键当你单击这个按钮后就会提示你是否删除,你点确定之后就会触发DataGrid的删除事件
    在RowDeleteing事件中写你的代码
      

  11.   

    谢谢楼上的,能不能不用Button,还用我的<a style="CURSOR: hand" onclick="ondel()">刪除</a>
      

  12.   

    ;路过------------------------
    http://fenglin.xland.cn
    ------------------------
      

  13.   

    不可以的~因为有个当前列,所以你必须要触发RowDeteleing事件 。。必须用Button才可以。
      

  14.   

    已经触发了ondel()函数,我觉的可以在ondel()函数中写,但是不知道怎么写。
      

  15.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!this.IsPostBack)
    {
    if(!Conn.Is_Login_IP_and_module_authority(this,"51"))
    this.Response.Redirect("../Adm_Login.aspx");
    else 
    {
    if(this.Request.QueryString["Compositor"]!=null && this.Request.QueryString["Compositor"]!="")
    {
    Compositor=this.Request.QueryString["Compositor"];
    strSql =" issue < 2 and Type="+this.Request.QueryString["Compositor"].ToString().Trim();
    }
    docount("Files","id","where "+strSql,15);
    RangeValidator1.MaximumValue = LabelPage;
    RangeValidator1.MinimumValue = "1";
    binddata("Files","id",strSql,"id,issue,FileName,FileAuthor,AuthorGroup,Utter_Date_1=CONVERT(char(10),Up_Date,20)","Order by Up_Date desc,id desc");

    }
    }
    if(Session["module_authority"] == null || Session["module_authority"].ToString().IndexOf("98",0) < 0)
    {
    this.issue.Enabled = false;
    this.issue.Visible = false;
    }
    string str = "";
    str += "if(event.keyCode == 13 )";
    str += "{document.all.GO.click(); return false;}";
    this.in_num.Attributes["onkeydown"]=str;
    del.Attributes.Add("onClick","return confirm('确定删除记录吗?');");
    issue.Attributes.Add("onClick","return confirm('确定发布记录吗?');"); }
      

  16.   

    private void del_Click(object sender, System.EventArgs e)
    {
    int index;
    index=Session["module_authority"].ToString().IndexOf("80");
    if(index>0)
    {
    string ID="",Selected_Date="";
    foreach(RepeaterItem item in this.Repeater.Items)
    {
    CheckBox ck=(CheckBox)item.FindControl("checkbox_del");
    if(ck.Checked)
    {
    HtmlInputHidden inputhidden = (HtmlInputHidden)item.FindControl("SelectedID");
    ID +=inputhidden.Value.Trim()+",";
    HtmlInputHidden inputhidden2 = (HtmlInputHidden)item.FindControl("Selected_Date");
    Selected_Date +=inputhidden2.Value.Trim()+",";
    }
    }
    if(ID.Length == 0)
    this.Page.RegisterStartupScript("","<script>alert('没有选定删除项');window.location.href=window.location.href;</script>");
    else
    {
    ID = ID.Remove(ID.Length - 1,1);
    Selected_Date = Selected_Date.Remove(Selected_Date.Length-1,1);
    string sql_del = "delete from Files where ID in("+ID+")";
    string [] Arr_Id = ID.Split(',');
    for(int i=0;i<Arr_Id.Length;i++)
    {
    string strsql="select FileName from Files where id ="+Arr_Id[i];
    Con.Open();
    SqlCommand cmd =new SqlCommand(strsql,Con);
    SqlDataReader dr1 =cmd.ExecuteReader();
    if(dr1.HasRows)
    while(dr1.Read())
    {
    string File_Path = Server.MapPath("../../Files/WeeklyReport/"+dr1["FileName"].ToString().Trim());
    if(File.Exists(File_Path))
    File.Delete(File_Path);
    }
    Con.Close();
    }

    Conn.ExecuteNonQuery_Sql_alert_refurbish_self(this,sql_del,"删除成功!!!");
    }
    }
    else
    {
    this.Response.Write("<script>alert('您无权进行半此操作,请与系统管理员联系!!!');</script>");
    }
    }
      

  17.   

    在服务端绑定删除确认,上面的说得详细
    --
    在客户端,结合AJAX