Confirmation Message BOx function for asp.net?

15,116

I guess it depends where you're putting your RegisterStartupScript code block. Ideally you want the click confirmation all on the client-side rather than anything server-side.

So on the button the user clicks to delete, you want a client-side click handler (if it's a server-side button, the event is onClientClick) that calls a function that returns the result of the confirm() call. Something like this:

<asp:Button ID="lnk_delete" runat="server" onClientClick="return fnConfirmDelete();" onClick="lnk_delete_Click">Delete</asp:Button>

<script language="javascript" type="text/javascript">
function fnConfirmDelete() {
  return confirm("Are you sure you want to delete this?");
}
</script>

The use of the two return statements ensures that if the user presses cancel the submission doesn't go ahead (i.e. the button click is cancelled).

Share:
15,116

Related videos on Youtube

WeakTaenie
Author by

WeakTaenie

Hate Coding =( difficult for us, female =(

Updated on June 04, 2022

Comments

  • WeakTaenie
    WeakTaenie about 2 years

    This is my Delete function after a click. Can anyone show me how to do a simple confirmation function?

    ASP.net C#.

    Previously I had this

    ScriptManager.RegisterStartupScript(this, 
           this.GetType(),
           "script",
           "confirm('Are you sure you want to Delete Your Discussion?');", 
           true);
    

    but the above code run after the deletion has been made.

    protected void lnk_delete_Click(object sender, EventArgs e)
    {
        GridViewRow grdrow = (GridViewRow)((LinkButton)sender).NamingContainer;
        string fieldID = grdrow.Cells[0].Text;
    
        string query = "Delete from Comment where DiscussionID=@id";
    
        SqlCommand cmd = new SqlCommand(query, cn);
        cmd.Parameters.AddWithValue("@id", fieldID);
    
        cn.Open();
        cmd.ExecuteNonQuery();
        cn.Close();
    
        string query1 = "Delete from Discussion where DIscussionID=@id";
    
        SqlCommand cmd1 = new SqlCommand(query1, cn);
        cmd1.Parameters.AddWithValue("@id", fieldID);
    
        cn.Open();
        cmd1.ExecuteNonQuery();
        cn.Close();
    
        GridView1.DataBind();
    }