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

时间:2009-12-03 03:31:40

标签: asp.net jquery jquery-ui postback

我们在asp.net页面上有一个方法,点击按钮即可调用。问题是该方法需要很长时间才能处理。我被要求让页面调用方法(或调用回发),然后显示jquery.ui对话框,让用户知道这个过程可能需要很长时间。我正在查看序列化asp.net表单并执行$ .post()但是说实话我完全坚持这是否会工作以及如何阻止实际的回发发生并只显示对话框。有没有人有这方面的经验可以给我一些指示?

我发现了http://dotnet.dzone.com/news/eliminating-postbacks-setting-,但我不确定它是否有点OTT。这篇文章有点长篇大论。

希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:1)

如果你可以使用UpdatePanel(这基本上归结为ASP.NET使用$ .post()执行你正在考虑的方式,那会更容易,但是自动获得ASP.NET特定的东西)。

然后,您可以执行以下简单操作:http://encosia.com/2008/10/04/using-jquery-to-enhance-aspnet-ajax-progress-indication/

答案 1 :(得分:0)

您可以通过javascript(AJAX)发送帖子请求,而无需使用asp.net的ajax框架。所以换句话说就是手动完成。在这种情况下,Ajax会很完美,因为在等待来自服务器的响应时,您正试图在前端显示加载指示符。

要做到这一点,请从button_click方法中取出逻辑并将其放在单独的页面中(text.aspx见下文)。然后你可以像这样调用那个页面(使用JQuery):

$('#ProgressIndicator').show();
$.post("test.aspx", function(data){
  alert("Data Loaded: " + data);
  $('#ProgressIndicator').hide();
});

如果您无法在项目中使用JQuery,请参阅:AJAX