asp.net+ajax多线程进度条的实现方法

<!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 type="text/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()        {            Thread thread=new Thread(new ThreadStart(guage));            thread.Start();        }        private void ajaxResponse()        {            Response.Write(percent.ToString()+"%");            Response.Flush();            Response.Close();        }        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码        override protected void OnInit(EventArgs e)        {            //            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。            //            InitializeComponent();            base.OnInit(e);        }               /// <summary>        /// 设计器支持所需的方法 - 不要使用代码编辑器修改        /// 此方法的内容。        /// </summary>        private void InitializeComponent()        {               this.Load += new System.EventHandler(this.Page_Load);        }        #endregion    }}

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《asp.net+ajax多线程进度条的实现方法》
文章链接:https://www.skykkk.com/archives2665.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

相关推荐

  • 暂无文章