对上一次的做一点修改,增加一个比较美观的进度显示[@more@]对上一次的做一点修改,增加一个比较美观的进度显示

上面那个是运行中的画面,下面那个是结束后的画面

用到的图标在这里:

对上次的前台修改如下:

WebForm54

" name="vs_targetSchema">

class="font" style="FILTER: Alpha(opacity=80); WIDTH: 320px; HEIGHT: 72px">

后台修改如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

namespace csdn

{

/// /// WebForm54 的摘要说明。

///

public class WebForm54 : System.Web.UI.Page

{

protected System.Web.UI.HtmlControls.HtmlGenericControl div_load;

protected System.Web.UI.WebControls.Button btn_startwork;

protected System.Web.UI.WebControls.Label lab_state;

protected System.Web.UI.WebControls.Label lab_jg;

protected work w;

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if(Session["work"]==null)

{

w=new work();

Session["work"]=w;

}

else

{

w=(work)Session["work"];

}

switch(w.State)

{

case 0:

{

this.div_load.Visible=false;

break;

}

case 1:

{

this.lab_state.Text=""+((TimeSpan)(DateTime.Now-w.StartTime)).TotalSeconds.ToString("0.00")+" 秒过去了,完成百分比:"+w.Percent+" %";

this.btn_startwork.Enabled=false;

Page.RegisterStartupScript("","");

this.lab_jg.Text="";

break;

}

case 2:

{

this.lab_jg.Text="任务结束,并且成功执行所有操作,用时 "+((TimeSpan)(w.FinishTime-w.StartTime)).TotalSeconds+" 秒";

this.btn_startwork.Enabled=true;

this.div_load.Visible=false;

break;

}

case 3:

{

this.lab_jg.Text="任务结束,在"+((TimeSpan)(w.ErrorTime-w.StartTime)).TotalSeconds+"秒的时候发生错误导致任务失败'";

this.btn_startwork.Enabled=true;

this.div_load.Visible=false;

break;

}

}

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// /// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

private void InitializeComponent()

{

this.btn_startwork.Click += new System.EventHandler(this.btn_startwork_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

private void btn_startwork_Click(object sender, System.EventArgs e)

{

if(w.State!=1)

{

this.btn_startwork.Enabled=false;

this.div_load.Visible=true;

w.runwork();

Page.RegisterStartupScript("","");

}

}

}

public class work

{

public int State=0;//0-没有开始,1-正在运行,2-成功结束,3-失败结束

public int Percent=0;//完成百分比

public DateTime StartTime;

public DateTime FinishTime;

public DateTime ErrorTime;

public void runwork()

{

lock(this)

{

if(State!=1)

{

State=1;

StartTime=DateTime.Now;

System.Threading.Thread thread=new System.Threading.Thread(new System.Threading.ThreadStart(dowork));

thread.Start();

}

}

}

private void dowork()

{

try

{

SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);

SqlCommand cmd=new SqlCommand("Insert Into test (test)values('test')",conn);

conn.Open();

for(int p=0;p<100;p++)

{

for(int i=0;i<10;i++)

{

cmd.ExecuteNonQuery();

}

Percent=p;//这里就是定义百分比,你估计这个操作费多少时间定义多少百分比

}

conn.Close();

//以上代码执行一个比较消耗时间的数据库操作

State=2;

}

catch

{

ErrorTime=DateTime.Now;

Percent=0;

State=3;

}

finally

{

FinishTime=DateTime.Now;

Percent=0;

}

}

}

}

html显示任务进度,(原创)asp.net利用多线程执行长时间的任务,客户端显示出任务的执行进度的示例(二)...相关推荐

  1. 利用DataSnap的回调功能在客户端显示服务器方法的执行进度

    如果DataSnap服务器方法的执行时间比较长,这时候可能需要在客户端用进度条显示当前服务器方法的执行进度.要实现这种需求,现在可以利用DataSnap的回调功能,此功能是从Delphi 2010版本 ...

  2. asp.net利用RAR实现文件压缩解压缩【月儿原创】

    asp.net利用RAR实现文件压缩解压缩 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.6.13 如果服务器上安装了RAR程 ...

  3. ASP中利用OWC控件实现图表功能详解[zz]

    ASP中利用OWC控件实现图表功能详解 在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图, ...

  4. 四位共阳极数码管显示函数_【项目8-任务10-小组13】利用四位数码管实现动态扫描显示...

    学习任务 1.四位数码管的电路结构与显示原理 (什么是位选.什么是段选.共阴与共阳的区别.显示4位数字,需要多少条口线?显示n位数字呢?) 2.Arduino直接连接四位数码管实现四位阿拉伯数字显示 ...

  5. html在线随机抽取,利用纯html+javascript实现随机抽取显示

    求助:利用纯html+javascript实现随机抽取显示 1 一个智力问答页面,每次显示一个判断题,最多可以连续答10题.题目从固定的10个问题中随机抽出一个且不能重复. 2 问题只有两种答案,对或 ...

  6. python执行效果_使用tqdm显示Python代码执行进度功能

    在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现.Python中的tqdm就是用来实现此功能的. 先来看看tqdm的进度条效果: tqdm的基本用法 tq ...

  7. 使用 JQueryElement ResponseProgress 显示页面执行进度

    今天将介绍的是, 如果页面需要在后台执行很长时间怎么办, 通过 ResponseProgress 你可以向用户显示后台页面的执行进度.. 由于精力有限, 不能在多个博客中保证文章的同步, 可在如下地址 ...

  8. ASP中利用OWC控件实现图表功能详解

    在ASP中利用OWC(Office Web Components)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等. 在下面的代码中我详细的给出了饼图,簇状柱型图,折线图的使用方法.OWC的更 ...

  9. 多线程对比:通过创建线程的方式来同步MFC进度条显示

    一.功能说明 目的:当主线程需要处理大量数据导致耗费时间很长时,主线程界面的进度条会卡顿不刷新,无法实时保持进度,因此需要将进度条显示与数据处理分开,将数据处理过程放在新建的线程中,主界面主要用来显示 ...

最新文章

  1. 经典算法研究系列:二、Dijkstra 算法初探
  2. java旅游系统项目经验_谁能跟我介绍一下Java 项目经验,刚进入这个行业。
  3. c语言x1=abc什么意思,c语言起步(课件)2.1
  4. CS229 6.6 Neurons Networks PCA主成分分析
  5. DataGrip以超级管理员身份登录Oracle
  6. HTML+CSS+JS实现 ❤️酷炫情人节爱心动画特效❤️
  7. timespan怎么比较大小_万能小哥丨厨房墙砖哪种好?厨房墙砖怎么挑选?
  8. ccs4c语言用户手册,CCS v4.x快速入门:EasyDsp开发套件产品手册
  9. 表单中enctype=multipart/form-data的意思
  10. mysql replace
  11. 高斯消元解线性方程组(浮点高斯消元模板)
  12. 视频教程-【深入理解计算机网络】入门计算机网络基础视频课程(下)-计算机网络
  13. Servlet实现登录带有验证码验证案例
  14. 五大方法 永久彻底关闭WIN10系统自动更新【已验证有效】
  15. awgn信道matlab建模,正交幅度调制信号在AWGN信道中传输的MATLAB仿真
  16. 如何搭建 MTK 6577模拟器
  17. 职位搜索引擎职友集开放招聘信息协议
  18. 安妮的50句经典[转贴]
  19. 关于socket中的send函数
  20. daocloud mysql_使用 DaoCloud 部署 NODE

热门文章

  1. python教程:类的装饰器方法、特殊成员方法
  2. python print %s 号格式化输出
  3. python 取出字典的键或者值/如何删除一个字典的键值对/如何遍历字典
  4. http和https的区别和联系
  5. 在EXCEL里如何输入X的平方
  6. python 运算符 (算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级)(与或非)(异或)
  7. Python 安装第三方模块
  8. Minimum Extraction 思维
  9. javax.websocket.DeploymentException: The path [webScoketServiceBaidu/{appID}] is not valid.
  10. EXT中创建一个弹窗效果