页面执行需要长时间时向用户的提示信息
2004-10-18 19:21
375 查看
当在一个页面执行时间比较长时,如大数据量的查询等等。可采用下面的方法为用户显示提示。
用例场景:
用户要生成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();
}
用例场景:
用户要生成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();
}
相关文章推荐
- 在用户离开页面时提示信息
- 关闭子页面刷新父页面时候,Firefox 必须发送将会导致重复之前动作的数据(例如搜索或者下订单)。 ie提示:若要再次显示该页面,web浏览器需要重新发送您以前提交的信息
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 如果页面需要很长时间才能完成,那么执行前使用
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 在用户离开页面时提示信息
- JS在用户离开页面时提示信息&常用的弹出窗口用法
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 框架中多个页面验证用户身份,弹出提示信息的一点技巧
- Git commit laravel总是出现需要配置用户名和用户信息的提示信息。
- 创建并部署一个Servlet,要求在实现用户登录功能,当用户名和密码正确时跳转到欢迎页面,否则提示出错信息
- 在用户离开页面(刷新、后退、关闭等)时提示信息.txt
- 在用户离开页面时提示信息
- ecshop修改用户登录成功和退出成功的提示页面信息
- 框架中多个页面验证用户身份,弹出提示信息的一点技巧
- 页面右下角弹出气泡提示框 提示用户 当前登录信息
- [转]在用户离开页面时提示信息
- 在用户离开页面(刷新、后退、关闭等)时提示信息
- 页面弹出遮罩层,给用户提示信息,后台继续操作
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数