页面执行需要长时间时向用户的提示信息

页面|执行

当在一个页面执行时间比较长时,如大数据量的查询等等。可采用下面的方法为用户显示提示。
用例场景:
用户要生成XML文件上报给国家局,而这个数据量是非常大量的,查询数据一段时间,写入XML文件也需要一段时,那么怎样才能给用户一个好的提示那。如当前正在分析上报数据。分析完成后,为用户提示“当前正在写入XML文件”、“当前正在压缩XML文件”等等。在服务器执行完一个阶段后就给用户一个提示。让用户知道自己所处在的位置。这样会让用户知道没有死机。
//在Page_Load方法中调用此方法。
private void loadplan()
{
string loadtext="正在加载页面,请您耐心等待";
Response.Write("<div id='mydiv' width='400px'>");
Response.Write("_");
Response.Write("</div>");
Response.Write("<script>mydiv.innerText = '';</script>");
Response.Write("<script language=javascript>");
Response.Write("var output = '"+loadtext+"';");
Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
Response.Write("{dots++;if(dots>=dotmax)dots=1;");
Response.Write("for(var x = 0;x < dots;x++){output += '▌';}mydiv.innerText = output;}");
Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; window.setInterval('ShowWait()',1000);}");
Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';mydiv.style.display='none';window.clearInterval();}");
Response.Write("StartShowWait();</script>");
Response.Flush();
Thread.Sleep(10);
}
//在一个阶段执行完成后调用此方法
//title 给用户的提示
private void UpdatePlan(string title)
{
Response.Write("<script language=javascript>");
Response.Write("output = '"+title+"';");
Response.Write("</script>");
Response.Flush();
Thread.Sleep(10);
}
在HTML页面中要有下面这个东东呀!
<script language="javascript">
<!--
HideWait();
//-->
</script>
例子:
//开始生成上报文件
private void btnBuild_Click(object sender, System.EventArgs e)
{
this.UpdatePlan("正在查询上报文件所需要的数据,这可能需要一段时间,请您耐心等待!");//调用
System.Data.DataSet objs=this.buildobjs();
if(objs==null)return;
lnpt.DataAccessLayer.SystemCommon.UpLoadDAL dal=new lnpt.DataAccessLayer.SystemCommon.UpLoadDAL();
string uploadtype=this.Request.QueryString["uploadtype"];
string path=this.GetPath();
path=path+this.txtVersion.Text+this.txtAPP_CD.Text+System.DateTime.Now.ToFileTime().ToString()+".xml";
this.UpdatePlan("正在生成XML上报文件,这可能需要一段时间,请您耐心等待!");//调用
dal.BuildXML(path,objs,uploadtype,this.txtVersion.Text,this.txtAPP_CD.Text,txtSEND_ORGAN.Text,this.txtRECE_ORGAN.Text,this.txtCONDITION.Text);
//添加上报文件生成记录
this.UpdatePlan("正在压缩生成的XML上报文件,请您耐心等待!");//调用
path=this.CreateZIPFile(path);
this.AddHistroy(path);
this.BindHistroy();
}

时间: 2024-09-14 18:11:37

页面执行需要长时间时向用户的提示信息的相关文章

struts2关于页面长时间等待

问题描述 用struts2做了个表单,但是提交的任务需要执行较长时间,用户不可能等任务执行完毕后再查看任务的状态.想问下struts2中有什么机制是,表单提交后,可以马上转至一个页面,而不需要等此提交的任务执行完毕(即action返回success),谢谢!另,我在使用execAndExec拦截器时,怎么action老报错:删了execAndExec则正常,不知什么原因? 解决方案 可以用javascript来做document.form(0).submit()来自动提交到相信的action,然

数据结构算法-关于scanf指令跳过执行的问题。单步调试时正确的 。纠结好长时间

问题描述 关于scanf指令跳过执行的问题.单步调试时正确的 .纠结好长时间 运行前两步是正确的,第三步就不正确了我用的是vi 编辑器 调试gdb #include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef int TElemType; typedef int Status;` typedef struct BiTNode { TElemType data; struct BiTNode lchild,

长时间未动作,在page-load中执行页面跳转的问题。

问题描述 protectedvoidPage_Load(objectsender,EventArgse){id=this.Request.QueryString["id"];if(id==null){if(Session["num"]==null){Response.Write("<script>alert('您尚未登录或已长时间未进行操作,请重新登录!');top.location.href='../Default.aspx';exit;&l

php计算页面程序执行了多长时间代码

php教程计算页面执行了多长时间代码 function test()         {             list($a,$b)= explode(" ",microtime());             return (float)$a+(float)$b;         } $a=test();        echo $a;        $time    = sprintf("%.12f",(double)test()-$a);  //方法二 f

服务器-web项目在执行大量的插入语句时执行一段时间后卡死

问题描述 web项目在执行大量的插入语句时执行一段时间后卡死 SSH框架,在页面有一个poi 批量导入excel的功能,每读取excel一行,保存为一个实体然后循环insert到DB里.刚开始程序运行正常,但是一段时间过后,系统出现卡死,不再执行insert sql ,刷新页面也没有响应,只能重启服务器.期间程序没有报错,myeclipse也不是内存溢出导致的卡死,因为点击其他功能模块时不会出现上述所说的问题,只有在执行大量的insert sql 时才会. 因为代码没有报错我也就不贴代码了. 我

spring mvc-Springmvc中如何设置登录一个账号长时间不进行操作 就会自动跳出登录页面?

问题描述 Springmvc中如何设置登录一个账号长时间不进行操作 就会自动跳出登录页面? Springmvc中如何设置登录一个账号长时间不进行操作 就会自动跳出登录页面? 解决方案 方法有很多种. 我推荐你用filter来做, filter作为验证用户提交的请求(当user==null时跳转) 而当前用户的登录信息放进session中即可, 长时间不操作会自动清除的. 解决方案二: shiro.设置超时 解决方案三: 配置文件里配置session时效 解决方案四: 把session设置一下时效

SQLServer中的执行计划缓存由于长时间缓存对性能造成的干扰

原文:SQLServer中的执行计划缓存由于长时间缓存对性能造成的干扰   本文出处:http://www.cnblogs.com/wy123/p/7190785.html  (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)   先抛出一个性能问题,前几天遇到一个生产环境性能极其低下的存储过程,开发人员根据具体的业务逻辑和返回的数据量,猜测到这个存储过程的执行应该不会有这么慢.当时意识到可能是执行计划缓存的问题,因为当

asp.net 做了页面重定向,当列表页面放置长时间后点击详情页面链接,无法重定向,这是为什么呢?

问题描述 asp.net 做了页面重定向,当列表页面放置长时间后点击详情页面链接,无法重定向,这是为什么呢? asp.net 做了页面重定向,当列表页面放置长时间后点击详情页面链接,无法重定向,这是为什么呢? ----------------主要处理以前的页面链接,跳转到新的页面链接上去. 哪位好心人愿意回答我的问题呀? 解决方案 你是不是重定向时读取session中的信息了啊,session长时间会过期的.

javascript-项目页面jquery加载时间长导致响应时间慢

问题描述 项目页面jquery加载时间长导致响应时间慢 在正式环境中,有两个页面的响应时间过长,查看network发现是在加载jquery时导致的: 如图,因为该jquery已上压缩文件,所以不知该如何优化缩短响应时间?谢谢 解决方案 可以考虑使用cdn,加速网站访问速度 解决方案二: 解决方案三: 1.使用cdn加速js库加载,是其它网站上的,有不确定性,需考虑: 2.对网站的静态资源访问不做限制,权限验证,安全验证等直接通过: 3.缓存js类库 解决方案四: 优化页面加载时间(转贴)