Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 752
  • Last Modified:

Java Script "Confirm" in .net

HI,
I am using java script confirm in my .net application to show the message box with yes/no options.
but even if i select the cancel option in message box,it is deleting the value.

using c#/.net
Thank you

private void Delete_Click(object sender, System.EventArgs e)
{
SqlConnection connection = new SqlConnection("Server=Local;DataBase=mktt; uid=sa;pwd=commt");
string strDelete="DELETE from produ where pid='"TextBox1.Text+ "'";
SqlCommand command = new SqlCommand(strDelete,connection);
connection.Open();
command.ExecuteNonQuery();
Response.Write("<script>if (confirm('Permanently Deletes . Do You Want to Continue?')){window.location = \"main.aspx\"};//--></script>");
}

Open in new window

0
tag_k
Asked:
tag_k
  • 3
  • 2
1 Solution
 
Göran AnderssonCommented:
Yes, of course it is. First you delete the record, then you output the code that will show the confirmation message.

Put the confirmation message in the client side click event of the button, so that it's executed before the event is sent to the server, not after the event has been sent to the server and the new page has been sent back to the browser:

<asp:Button id="Delete" runat="server" Text="Delete" OnClick="Delete_Click" OnClientClick="return confirm('Permanently Deletes . Do You Want to Continue?');" />

When the user clicks the button, the confirm message is shown. If the user chooses not to continue, the event is not sent to the server. If the user chooses to continue, the event is sent to the server, and you can delete the record.

If you want to go the "main.aspx" page after deleting, use a redirect last in the server event handler:

Response.Redirect("main.aspx");
0
 
Anurag ThakurCommented:
if you want to set the message box from the server side then yoy can add the following code in the page load event

if (IsPostBack == false)
   btnDelete.OnClientClick = "return confirm ('ermanently Deletes . Do You Want to Continue?');";
0
 
tag_kAuthor Commented:
Hi,
i have tried both the solutions but i have same error

 'System.Web.UI.WebControls.Button' does not contain a definition for 'OnClientClick'

any way to resolve this.
thanks
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
Göran AnderssonCommented:
Oh, you are using framework 1.1. Missed that.

Then there is no OnClientClick property, so you have to use the attribute collection:

btnDelete.Attributes.Add("onclick", "return confirm('Permanently Deletes . Do You Want to Continue?');");

(As the server side event OnClick has the same name as the client side event onclick, you can't add it in the markup code.)
0
 
tag_kAuthor Commented:
Thanks ,but i also want to redirect it to another page after(i.e after delete) user clicks ok.
0
 
Göran AnderssonCommented:
Then you use a Response.Redirect in the method, after you have closed the connection.

I added a using statement to handle the closing of the connection.

I also added encoding of the string value in the SQL query, so that the code isn't open for SQL injections. Note that I assume that you are using SQL Server. If you are using MySQL the encoding process is different.
private void Delete_Click(object sender, System.EventArgs e) {
   using (SqlConnection connection = new SqlConnection("Server=Local;DataBase=mktt;uid=sa;pwd=commt")) {
      string strDelete="DELETE from produ where pid='" + TextBox1.Text.Replace("'", "''") + "'";
      SqlCommand command = new SqlCommand(strDelete,connection);
      connection.Open();
      command.ExecuteNonQuery();
   }
   Response.Redirect("AnotherPage.aspx");
}

Open in new window

0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now