1

我有一个 ASP.NET 2.0 Web 应用程序。我想在用户保存一些数据时显示进度指示器(例如:编辑配置文件)。我已经在我的应用程序中使用 jQuery 来处理一些客户端副作用。我怎样才能做到这一点 ?与 ASP.NET 一起使用的任何 jquery 受信任的东西?提前致谢

4

2 回答 2

2

您想在操作发生时显示实际进度还是只是一个繁忙的指示器?如果是前者,您将需要一些机制来记录会话中的保存进度,以及通过 AJAX 检查进度状态的方法。您将通过 AJAX 提交表单,然后定期调用 check 方法以获取进度报告并更新任何客户端指示器(通常从一系列罐装图像中的一个切换到另一个或增加一些填充“条”的宽度)。当然,这很复杂。

如果您想执行后者,只需在您使用 beforeSend 回调从 jQuery 通过 AJAX 提交表单时显示一个忙碌指示符的动画 GIF,然后使用 ajax 方法的完整处理程序隐藏指示符。

$('form').ajax( {
    url: '/updateprofile.aspx',
    type: 'POST',
    data: function() { return $('form').serialize(); },
    beforeSend: function() { $('#indicator').show(); },
    complete: function() { $('#indicator').hide(); },
    success: function(data,status) { alert('Update complete'); }
});

上面的代码将在从任何处理程序调用提交或挂钩到表单的提交事件的函数中调用——尽管您也必须阻止默认操作发生。

于 2009-05-14T10:36:02.740 回答
1

显示有意义的进度指示器的另一种方法是在保存数据的同时显示动画 gif,例如 Firefox 中使用的旋转“雏菊”模式。

这向用户显示正在发生的事情并且通常很受欢迎。

无论如何,显示完成百分比的进度指标通常毫无意义,除非他们真的知道第一个“50%”与最后一个“50%”相比需要多长时间。其他进度指标更有意义,例如那些显示记录计数增量的指标等。

于 2009-05-14T10:39:19.020 回答