Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery ajax和jquery对话框的asp.net回发_Asp.net_Jquery_Jquery Ui_Postback - Fatal编程技术网

使用jquery ajax和jquery对话框的asp.net回发

使用jquery ajax和jquery对话框的asp.net回发,asp.net,jquery,jquery-ui,postback,Asp.net,Jquery,Jquery Ui,Postback,我们在asp.net页面上有一个方法,单击按钮即可调用该方法。问题是这种方法需要很长时间来处理。我被要求让页面调用方法(或调用回发),然后显示jquery.ui对话框,让用户知道这个过程可能需要很长时间。我正在考虑序列化asp.net表单并执行$.post(),但老实说,我完全无法确定这是否可行,以及如何防止实际的回发发生,而只是显示对话框。有没有人有这样做的经验,可以给我一些建议 我找到了这个,但我不确定它是否有点过时。这篇文章有点冗长 希望有人能帮上忙。如果你能使用UpdatePanel(它

我们在asp.net页面上有一个方法,单击按钮即可调用该方法。问题是这种方法需要很长时间来处理。我被要求让页面调用方法(或调用回发),然后显示jquery.ui对话框,让用户知道这个过程可能需要很长时间。我正在考虑序列化asp.net表单并执行$.post(),但老实说,我完全无法确定这是否可行,以及如何防止实际的回发发生,而只是显示对话框。有没有人有这样做的经验,可以给我一些建议

我找到了这个,但我不确定它是否有点过时。这篇文章有点冗长


希望有人能帮上忙。

如果你能使用UpdatePanel(它基本上可以归结为ASP.NET使用$.post()做你正在考虑的事情的方式,但会自动正确处理ASP.NET特定的东西),那就容易多了


然后,您可以做如下简单的事情:

您可以通过javascript(AJAX)发送post请求,而无需使用asp.net的AJAX框架。换言之,手动操作。在这种情况下,Ajax将是完美的,因为在等待服务器响应时,您正试图在前端显示加载指示器

要做到这一点,请将button_click方法的逻辑去掉,并将其放在单独的页面中(text.aspx请参见下文)。然后可以这样调用该页面(使用JQuery):


如果您不能在项目中使用JQuery,请参阅:

Hi:您可以在这里发布您的javascript代码,以便我们可以查看它吗?通常我会显式使用$.ajax()方法,因为它更灵活。而且,服务器端的过程可能需要很长时间才能完成,因此仅在客户端进行改进可能效率不高。不幸的是,我无法使用更新面板。这是Delphi.net中的现有应用程序,不包括MS Ajax:(
$('#ProgressIndicator').show();
$.post("test.aspx", function(data){
  alert("Data Loaded: " + data);
  $('#ProgressIndicator').hide();
});