如何从后面的代码中的“确认”框中获取响应
我是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); } //
上面的代码显示了确认框,其中包含“确定”和“取消”按钮。 我的问题是
- 如何在确认对话框中将其设为“是”或“否”?
- 用户按“是”/“否”后,如何捕获响应(是/否),继续我的其余程序?
我已经搜索了很多。但是得不到合适的答案。请帮我解决这个问题。
您可以通过多种方式执行此操作:
一个是在页面上放置一个按钮,使其显示: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。
您可以根据需要自定义它。