Jquery 逐步发布数据以查看asp.net mvc
我正在为一个数据库生成1000条记录。这意味着这需要一些时间。现在,用户可能会变得不耐烦。所以我想在生成过程中向他展示一个进度条,这发生在Controller中。我在jquery或flash中发现了非常酷的进度条,但我不知道如何使用它们,因为在向某个操作发送请求后,我获得的创建新视图页面的第一个数据(据我所知)是在控制器操作完成之后 你知道什么时候显示进度条以及如何向进度条发送一些数据以使进度条“加载”吗Jquery 逐步发布数据以查看asp.net mvc,jquery,asp.net-mvc,flash,progress-bar,Jquery,Asp.net Mvc,Flash,Progress Bar,我正在为一个数据库生成1000条记录。这意味着这需要一些时间。现在,用户可能会变得不耐烦。所以我想在生成过程中向他展示一个进度条,这发生在Controller中。我在jquery或flash中发现了非常酷的进度条,但我不知道如何使用它们,因为在向某个操作发送请求后,我获得的创建新视图页面的第一个数据(据我所知)是在控制器操作完成之后 你知道什么时候显示进度条以及如何向进度条发送一些数据以使进度条“加载”吗 提前感谢。也许您应该根据ajax请求调用服务器我对asp mvc(和stck overfl
提前感谢。也许您应该根据ajax请求调用服务器我对asp mvc(和stck overflow)不熟悉。但我的方法是在一个新线程中启动记录生成过程。重定向到使用progressbar加载局部视图的视图。然后在该视图上使用脚本更新分部。 例如:
<div id="documents-partial">
<% if (ViewData["IsDone"] == false) { %>
<% Html.RenderPartial("ProgressBar", ViewData["Progress"]); %>
<% }else{ %>
<% Html.RenderPartial("Records", ViewData["Records"]); %>
<% }
</div>
<script type="text/javascript">
$(document).ready(function() {
update();
}
function update(){
$('div#id-of-where-you-want-to-load-partial-view').load('/Records/CheckForUpdate', {param1: <%= ViewData["Progress"].Id %>}, update /*on callback calls the update method again*/ );
</script>
我看到的一个方法是在buildserver teamcity的Web界面上
它显示了构建的进度。progressbar设置为上次生成的持续时间
它的工作并不完美,但足以发挥作用。如果所做的工作总是可以比较的(比如构建的持续时间),您可以这样尝试。如果您使用ajax来获取记录,那么您可以使用这个
// Progress Bar -----------------------------
$().ajaxSend(function(r, s) {
$("#contentLoading").show();
});
$().ajaxStop(function(r, s) {
$("#contentLoading").fadeOut("fast");
});
//-------------------------------------------
<img id="contentLoading" src="../../Content/images/ajax-loader.gif" style="display:none" alt="Updating ..." />
//进度条-----------------------------
$().ajaxSend(函数(r,s){
$(“#内容加载”).show();
});
$().ajaxStop(功能(r,s){
$(“#内容加载”).fadeOut(“快速”);
});
//-------------------------------------------
此代码将在ajax请求运行时显示和隐藏动画gif进度条