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();
}
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With