惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
C
Check Point Blog
D
Docker
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
量子位
有赞技术团队
有赞技术团队
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
M
MIT News - Artificial intelligence
B
Blog
阮一峰的网络日志
阮一峰的网络日志
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
月光博客
月光博客

博客园 - Suntears

InputBox函数用法 MsgBox用法 【转】我的悲哀——虽然是转载,但同样是我自己的悲哀 asp.net中将DataTable根据xslt生成html静态页面,支持分页 javascript中keyCode代码对应表(函数实现) - Suntears - 博客园 asp.net进度条的实现(附demo) asp.net进度条的实现(纯个人收藏) 高度获得相关代码 - Suntears - 博客园 c#去除url中的param参数的函数 - Suntears - 博客园 如何实现js的重载 临时让别人登录你的qq邮箱,却又不想让他知道密码的方法 在url中去除指定参数的c#代码 asp.net中面向对象传值方法 如何在webform.aspx.cs中控制用户控件的属性 如何让一个iframe自动调整大小 eBay起家 如何向用户控件传递参数 [转]asp.net中窗口相关操作总结(javascript) [转]JavaScript页面跳转常用代码
asp.net+ajax多线程进度条的实现 - Suntears - 博客园
Suntears · 2007-04-24 · via 博客园 - Suntears

最近写进度条写的有点上瘾,这次弄了个ajax的(*^_^*)
由于之前的那篇(http://www.cnblogs.com/suntears/archive/2007/04/24/724833.html)已经对前台如何控制图片进行了演示,这次就仅仅做功能模拟。别忘了打开页面的时候加上start参数,这样才可以启动查数程序。

前台代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<html>
  
<head>
    
<title>ajaxguagedemo</title>
    
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    
<meta name="CODE_LANGUAGE" Content="C#">
    
<meta name=vs_defaultClientScript content="JavaScript">
    
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
    
<script language=javascript >
function returnresponse()
{
    urls
="ajaxguagedemo.aspx?guage=1";
    
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlHttp.open(
"GET",urls,true);
    xmlHttp.onreadystatechange
=function(){
        
if(xmlHttp.readyState==4)
        
{
            temp
=xmlHttp.responseText;
            document.getElementById(
"ddf").innerText=temp;
            
if(temp!="100%")
            
{
            returnresponse();
            }

        }

    }

    xmlHttp.send(urls);
}

    
</script>
  
</head>
  
<body MS_POSITIONING="GridLayout">
    
<form id="Form1" method="post" runat="server">
    
<input type=button onclick="returnresponse()" value=1111111>
    
<div id=ddf></div>
    
</form>
  
</body>
</html>

后台代码如下:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Threading;
namespace guagedemo
{
    
/// <summary>
    
/// ajaxguagedemo 的摘要说明。
    
/// </summary>

    public class ajaxguagedemo : System.Web.UI.Page
    
{
        
static public int percent=0;//静态变量,记录百分比
        private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            if(Request.QueryString["start"]!=null)
            
{
                startThread();
//开始新进程处理查数程序
            }

            
if(Request.QueryString["guage"]!=null)
            
{
                ajaxResponse();
//响应ajax,返回百分比
            }

        }

        
private void guage()
        
{
            
for(int i=0;i<100;i++)
            
{
                percent
++;
                Thread.Sleep(
500);
            }

        }

        
public void startThread()
        
{
            System.Threading.Thread thread
=new System.Threading.Thread(new System.Threading.ThreadStart(guage));
            thread.Start();
        }

        
private void ajaxResponse()
        
{
            Response.Write(percent.ToString()
+"%");
            Response.Flush();
            Response.Close();
        }


        
Web 窗体设计器生成的代码
    }

}

很简单,看页面说明足够理解了。
附上Demo