如何从后面的代码中的“确认”框中获取响应

我是asp.net/C#的新手。我正在尝试创建一个Web应用程序。

以下是我的要求。

我想在按钮点击上保存记录。 在保存记录之前,我将检查数据库中是否存在该记录(在后面的代码中)。如果它存在,那么我需要向用户显示一条警告“记录已存在。你要继续吗? ?“当用户按’是’时,我需要继续保存代码中的记录,否则我只需要退出保存过程。

//......code for checking the existence of the record if (check == true) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", " confirm('Record already exist.Do you want to proceed?');", true); } // 

上面的代码显示了确认框,其中包含“确定”和“取消”按钮。 我的问题是

  1. 如何在确认对话框中将其设为“是”或“否”?
  2. 用户按“是”/“否”后,如何捕获响应(是/否),继续我的其余程序?

我已经搜索了很多。但是得不到合适的答案。请帮我解决这个问题。

您可以通过多种方式执行此操作:

一个是在页面上放置一个按钮,使其显示:none,当确认为true时,用js触发其单击。

就像在aspx中一样

  

在客户端为调用确认对话框创建一个js函数,如

 function ConfirmSave() { if(confirm('Record already exist.Do you want to proceed?') { jQuery("[ID$=btnSaveData]").click(); } } 

在Code Behind中

您的代码检查一些事件处理程序

 if (check == true) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "ConfirmSave();", true); } 

bthSaveData单击处理程序以保存数据。

 protected void btnSaveData_Click(object sender, EventArgs e) { // Code for your saving. } 

您可以在JS中使用这样的确认框

 var ans = confirm ('Record already exist.Do you want to proceed?'); if(ans==true) { } else { } 

其次,要在代码中获得响应,您可以将Yes / No值存储到隐藏字段中,例如

 document.getElementById('<%= hiddenField.ClientID %>').value = ans; 

你可以看一下这个链接http://www.codeproject.com/Articles/8173/A-Simple-ASP-NET-Server-Control-Message-Box-Confir 。

您可以创建自己的自定义确认框。

其中一个解决方法是将TRUE / FALSE标志存储在具有属性runat =“server”的控件中,具体取决于用户所做的选择(是/否)。 然后在后端,您可以检查此控件的值。

使用AJAX工具包和modalpopupextender。

     

您可以根据需要自定义它。