Write javascript for confirm delete in gridview rowdeleting event

前端 未结 3 1225
傲寒
傲寒 2021-01-23 07:07

I am deleting a row from gridview for which i have used gridview\'s default delete command field. On clicking, the gridview row deleting command gets fired and the selected row

3条回答
  •  北荒
    北荒 (楼主)
    2021-01-23 07:26

    Try this.

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            foreach (DataControlFieldCell cell in e.Row.Cells)
            {
                foreach (Control control in cell.Controls)
                {
                    // Choose between Button, ImageButton and LinkButton.
                    // as my ButtonType="Button". 
                    Button button = control as Button;
                    if (button != null && button.CommandName == "Delete")
                    {
                        string script = "if(confirm('Are you sure to delete?')) __doPostBack('{0}','{1}${2}'); else return false;";
                        string clickEvent = String.Format(
                            script,
                            GridView1.ClientID,
                            button.CommandName,
                            button.CommandArgument);
                        button.Attributes.Add("onclick", clickEvent);                                 
                        break;
                    }
                }
            }
        }
    }
    

    Much more dirty than I originally anticipated. Better to use a asp:TemplateField :)

    Please note that my ButtonType="Button"

提交回复
热议问题