导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

aspx页面的执行长时间的后台运算,页面显示慢,如何给用户一个良好的感觉?

smartyyp 2004-03-15 11:02:56
我现在的方案,将长时间的数据库操作放在单独的一个页面(loading.aspx),在这个页面上加上一个进度条的图片,等到运算结束,在将结果返回,这是再跳转到另外一个结果展现的页面(view.aspx),这样用户的感觉还可以。
但现在遇到一个问题,当开始运算时,loading.aspx上的进度条图片不显示,从运算开始到页面重定向,loading.aspx界面上都是空白。我的运算和页面重定向都写在page_load中。请问这是什么问题?
谁有更好的解决方法?
...全文
72 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartyyp 2004-03-16
谢谢大家
回复
tanglinbin 2004-03-16
有趣,up
回复
smartyyp 2004-03-16
up
回复
smartyyp 2004-03-15
有没有代码示例,谢谢
回复
hgknight 2004-03-15
不用作loading页面
直接在原先的页面上加一个div,显示一个运算图片
提交计算前先用js显示该div
计算完成后直接转向
回复
ShengNet 2004-03-15
学习中.......
回复
2002pine 2004-03-15
你可用xmlhttp在后台执行,不刷新页面,
回复
wxlada 2004-03-15
你可以利用一个<iframe>使你的图片显示出来的。。
回复
netvsj2ee 2004-03-15
用这个控件
http://www.aspxcn.com/dotnetbbs/View.aspx?fbId=17&Id=276388
回复
Jouzen 2004-03-15
显示进度都不是完全准确的。

可以这样。用js和frame控制。

最初显示loading....的frame,设置信息的frame为不可以见,等完全装载完毕后js设置loading....的frame不可见就是了
回复
wxlada 2004-03-15
程序是先运行后台语句,再运行后台执行的JS语句的,在显示图片的命令前就已经转向了。
回复
Overriding 2004-03-15
有显示加载进度的控件,来个吧
好像在csdn上可以搜索到。
回复
smartyyp 2004-03-15
up
回复
wxlada 2004-03-15
<div id="Layer1" style="Z-INDEX:101; LEFT:0px; BACKGROUND-IMAGE:url(../images/r0.gif); VISIBILITY:hidden; WIDTH:100%; POSITION:absolute; TOP:0px; HEIGHT:100%"
runat="server"></div>
<div id="Layer2" style="Z-INDEX:102; LEFT:300px; VISIBILITY:hidden; POSITION:absolute; TOP:200px; HEIGHT:40px"><img src="../images/clock.gif" style="WIDTH: 64px; HEIGHT: 64px" height="64" width="64"
runat="server"></div>


function showclock()
{
Layer1.style.visibility="visible";
Layer2.style.visibility="visible";
}
==========================================

hgknight(江雨.net),我在提交保存的时候是这么做的。动态的GIF会卡住,在IE6下我加了个空<iframe>解决。但是在这里是在Page_onload时运行。没有试是否能放到计算之前执行这段代码。放到后台肯定不行,可以放到 <body onload="showclock();">试试,但是我还是估计,如果是动态GIF,可以显示,但不会动。所以这种方法我不推荐。
回复
izzard 2004-03-15
可以看看再hotmail上传邮件附件时弹出的动画对话框。
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告