进度参考代码

   1.按钮点击的时候开始监视进度
var interval = window.setInterval(GlobalControlProcess, 1500); 2.js调用一般处理程序轮询进度 function GlobalControlProcess(){ $.post("/Common/ComputeProcess.ashx", {ComputeType:"rsk_pro"},function(data){ data=JSON.parse(data); if (data.state.toString() == "7") { SetCompleted(); window.clearInterval(interval); } else{ SetPorgressBar(Math.ceil(parseInt(data.state)/7*100)); $("#p"+data.state.toString()).fadeIn("slow"); } }); 3.进度完成后清除计时器 window.clearInterval(interval);
4.一般处理程序代码
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Web; using Contract.Domain; using Framework; using NPOI.SS.Formula.Functions; using WebApp.Common; namespace HraWeb.Common { /// <summary> /// EntityJsonList 的摘要说明 /// </summary> public class ComputeProcess : BasePage, IHttpHandler, System.Web.SessionState.IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //context.Response.ContentType = "application/json"; context.Response.Cache.SetCacheability(HttpCacheability.NoCache); if (context.Request["ComputeType"]!=null&&!string.IsNullOrEmpty(context.Request["ComputeType"])) { string computeType = context.Request["ComputeType"]; if (HttpContext.Current.Session[computeType] == null) { HttpContext.Current.Session.Add(computeType,1); } var obj = new {state = HttpContext.Current.Session[computeType.ToString()]}; context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(obj)); context.Response.End(); } } public bool IsReusable { get { return false; } } } }
原文地址:https://www.cnblogs.com/kexb/p/5222821.html