My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > Asp > 综合文章
页面执行需要长时间时向用户的提示信息
作者:未知 时间:2004-10-18 12:12 出处:Blog 责编:MyFAQ
              摘要:暂无
当在一个页面执行时间比较长时,如大数据量的查询等等。可采用下面的方法为用户显示提示。
用例场景:
用户要生成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();
  }
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有