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