运行时ASP.NET确认对话框

时间:2011-06-06 12:33:54

标签: c# asp.net ajax

我需要询问用户他/她是否想要继续操作(例如,保存操作)。

因此,在用户点击“保存”按钮后,在服务器端检查了一些内容。如果满足一个条件,则必须询问用户是否要继续。

根据用户的回答,应该自动执行回发,将用户的响应重新发送回服务器,因此服务器现在将再次询问。有可能吗?

感谢。

修改

更具体地说,我想要这个:

  1. 用户单击“保存”按钮。回发已执行

  2. 我需要在SERVER SIDE上进行一些验证/检查(这很重要!)

  3. 在回发中间,我想在满足某个条件时停止并询问用户他/她是否真的想要继续。

  4. 如果用户点击是,我需要重新发布请求,但现在我需要提交用户的回复。

  5. 如果再次遇到“特定情况”,我会忽略它,因为用户想要它。

  6. 所以在按下按钮时添加确认对话框的解决方案不是一个选项,因为检查不简单并且需要一些复杂的东西(在客户端不可能这样做)。

    Ajax / JS / Telerik,一切都好。

3 个答案:

答案 0 :(得分:1)

您可以使用

btnExample.Attributes.Add("onclick", "javascript:return confirm('continue?')";

只是其中一个选项...

编辑:

根据您的需要,您将需要使用AJAX,在服务器上调用方法,并在回调时打开确认窗口。

第二次编辑:

如果服务器端的工作时间不长,我会使用AJAX。 AJAX异步工作,你想要一个同步过程,对吗?

而不是回发,从javascript调用一个AJAX方法,它看起来像这样:

Service.ProccessRequest(data, OnSucceedJSFunction, OnFailJSFunction);

这种方式当服务器端方法完成JS上的OnSucceedJSFunction时将被调用。 在这个函数中你可以做类似

的事情
if (confirm('are you sure?'))
{
call another server method...
}

如果您需要将数据重新发送到同一服务器端方法或另一个服务器端方法,您可以再次执行此操作并调用另一个OnSucceed js函数。

我不确定你想要在所有程序结束时发生什么......

答案 1 :(得分:0)

快速而肮脏的是使用javascript confirm函数,大量示例说明当用户点击取消或确定时如何避免回发。

如果你需要更好的ui控制,你肯定可以使用javascript / jquery或其他什么来显示一个漂亮的对话框并阻止回发发生或调用它。

答案 2 :(得分:0)

如果非JS用户不打扰你,那么像jQuery或AjaxControlToolkit这样的东西可以提供模态弹出解决方案。

如果您有意识或可能为需要提供非JS解决方案的公司工作,那么您可以考虑将用户发送到另一个要求确认的页面,您可以在会话或查询字符串中携带任何相关信息。