ASP.NET:将数据保存到数据库时显示进度信息

ASP.NET:将数据保存到数据库时显示进度信息,asp.net,jquery,show,progress,Asp.net,Jquery,Show,Progress,我有一个ASP.NET 2.0 Web应用程序。我想在用户保存某些数据(例如:编辑配置文件)时显示进度指示器。我已经在应用程序中使用jQuery来处理一些客户端副作用。我该怎么做?有任何jquery受信任的东西可以与ASP.NET一起使用吗?提前感谢您想在执行操作时显示实际进度还是只显示忙碌的指示器?如果是前者,您将需要一些机制来记录会话中的保存进度,并需要一种方法来通过AJAX检查进度状态。您可以通过AJAX提交表单,然后定期调用check方法来获取进度报告,并更新任何客户端指示器(通常从一系

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

您想在执行操作时显示实际进度还是只显示忙碌的指示器?如果是前者,您将需要一些机制来记录会话中的保存进度,并需要一种方法来通过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'); }
});

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

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

这向用户显示了正在发生的事情,并且通常受到好评


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

不一定如此,因为即使服务器在更新时发生故障,动画也会继续。没错,并非所有情况下都适用,但通常就足够了。我会使用一个适当的指示器,它会与服务器对话,给服务器足够的时间来实现。我确实会将数据保存在服务器端,甚至只需单击asp.net按钮。我从未使用过ajax表单提交。使用该方法是否存在风险因素?我不确定。使用ajax发布有什么好处?