问题 : 在一个 页面中,,我有一个button 按钮, 这个button 事件里面 会处理很多事情,比如 (动态创建pdf报表。合并pdf报表 。总之需要时间很久。。)我想在 代码走到这个button 事件里面的时候,在当前页面指定的地方 输入一个进行中 什么的 进度条请问应该怎么实现?
主要问题 就是 在提交 button 的时候,在当前页面 的指定地方 输出一个 进行中的 进度条, 什么的俄 给 用户友好提示不止于 时间太久,,用户不知道在做什么?。
请各位提点:
顶者有份。。
主要问题 就是 在提交 button 的时候,在当前页面 的指定地方 输出一个 进行中的 进度条, 什么的俄 给 用户友好提示不止于 时间太久,,用户不知道在做什么?。
请各位提点:
顶者有份。。
解决方案 »
- 求个 vs2008 中文版下载地址
- aspx页面都不能访问了
- 如何简便从photoshop的图片转换为网页文件
- 如何解决VS2005中TreeView没有AutoPostBack属性的问题
- RequireFieldValidate组件和按钮组件的冲突?
- 跪求 关于HoverMenu的问题
- 如何向image控件中写入数据(很急!…………谢谢)
- 急用:关于dbf数据库数据在datagrid里不能正常显示中文?
- 急!!!请问用户有新的短消息,如何在他登录时对他进行提醒
- 请问vb脚本和js脚本放在一起为什么总提示js脚本出错?
- 关于文件上传的问题
- 在GridView中有一个Button,点击它时如何取得GridView的当前行?
触发按钮后 vissible=true;
http://www.cnblogs.com/Terrylee/archive/2006/11/12/ASPNET_AJAX_UpdateProgress_Part1.html
using System.Threading;
if (!IsPostBack)
{
Response.Write("<div id='mydiv'>");
Response.Write("_");
Response.Write("</div>");
Response.Write("<script>mydiv.innerText = '';</script>");
Response.Write("<script language=javascript>;");
Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
Response.Write("{var output; output = '正在装载页面';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'; ");
Response.Write("window.setInterval('ShowWait()',1000);}");
Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';");
Response.Write("window.clearInterval();}");
Response.Write("StartShowWait();</script>");
Response.Flush();
Thread.Sleep(2000);
Response.Write("<script>document.getElementById('mydiv').style.display='none';</script>");
hlRefresh.NavigateUrl = Request.RawUrl;
}模拟的
who knows ?
脚本用window.setTimeout("delayRun()", 1000);//delayRun()是每秒要回调的函数
来每隔一秒访问一次服务器以便获得执行进度。访问的一定得是ajax方法。
delayRun里应该有类似这样的语句:_default.getProgress(callback);
其中:_default.getProgress 是服务器端的方法,返回进度的比例。callback是得到进度之后调用的方法。
callback函数大致是这样的
callback(response){
//根据response.value对页面的进度条进行操作
}
我也考虑呢:本来服务器端就很忙,还得定时汇报进度...如果不是迫不得已(领导逼迫),哪有这么做的.
假的就好做了,弄个gif放上去,运行时visible=true,运行完visible=false.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
var bgObj,msgObj;
function alertWin(msg, w, h){
var bordercolor = "#666699"; // 提示窗口的边框颜色
var bgcolor = "#FFFFFF"; // 提示内容的背景色
var iWidth = document.documentElement.clientWidth;
var iHeight = document.documentElement.clientHeight;
bgObj = document.createElement("div");
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
document.body.appendChild(bgObj);
msgObj=document.createElement("div");
msgObj.style.cssText = "position:absolute;font:11px '宋体';top:"+(iHeight-h)/2+"px;left:"+(iWidth-w)/2+"px;width:"+w+"px;height:"+h+"px;text-align:center;z-index:102;";
document.body.appendChild(msgObj);
msgObj.innerHTML = msg;
}
function getEvent() {
return window.event || arguments.callee.caller.arguments[0];
}
</script>
</head>
<body>
<script>
alertWin('<img src=http://hiphotos.baidu.com/i3ws/pic/item/8254d13f5d8b03c37d1e7199.jpg />',300,20)
</script></body>
</html>
<script>
//document.body.removeChild(bgObj);//这里解除注释即可在页面加载完成后自动去掉等待提示
//document.body.removeChild(msgObj);//这里解除注释即可在页面加载完成后自动去掉等待提示
</script>
====>
已经submit了,当前页面就提交了,当前页面只有等到服务器处理完提交的请求之后才会再显示.
要在同一页面中实现这样的效果,还得用ajax