全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ASP.NET实现进度条效果

我们先看下进度条效果

我点击了按钮后他会显示进度页面,进度完成后,进度条消失,其实也是比较简单的了。

我们需要一个进度条代码文件ProgressBar.htm(注意:是没有head这些标签的)

<script language="javascript">
  function SetPorgressBar(pos) {
    //设置进度条居中

    var screenWidth = document.body.offsetWidth;
    ProgressBarSide.style.width = Math.round(screenWidth / 2) + "px";
    ProgressBarSide.style.left = Math.round(screenWidth / 4) + "px";
    ProgressBarSide.style.top = "50px";
    ProgressBarSide.style.height = "21px";
    ProgressBarSide.style.display = "block";

    //设置进度条百分比 
    ProgressBar.style.width = pos + "%";
    ProgressText.innerHTML = pos + "%";
  }

  function SetMaxValue(maxValue) {
    ProgressBarSide.style.width = maxValue + "px";
  }

  //完成后隐藏进度条
  function SetCompleted() {
    ProgressBarSide.style.display = "none";
  }

  function SetTitle(title) {
    ProgressTitle.innerHTML = title;
  }
</script>
<div id="ProgressBarSide" style="position: absolute; height: 21px; width: 100px;
  color: Silver; border-width: 1px; border-style: Solid; display: block">
  <div id="ProgressBar" style="position: absolute; height: 21px; width: 0%; background-color: #1475BB">
  </div>
  <div id="ProgressText" style="position: absolute; height: 21px; width: 100%; text-align: center">
  </div>
  <div id="ProgressTitle" style="position: absolute; height: 21px; top: 21px; width: 100%;
    text-align: center">
  </div>
</div>

然后需要一个进度条类ProgressBar.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;

namespace ZhuoYueE.Dop.Web.UI
{
  /// <summary>
  ///显示进度条
  /// </summary>
  public class ProgressBar : System.Web.UI.Page
  {
    /// <summary>
    /// 最大值
    /// </summary>
    private int MaxValue
    {
      get
      {
        if (ViewState["MaxValue"] == null)
        {
          return 0;
        }
        else
        {
          return Convert.ToInt32(ViewState["MaxValue"]);
        }
      }
      set
      {
        ViewState["MaxValue"] = value;
      }
    }
    /// <summary>
    /// 当前值
    /// </summary>
    private int ThisValue
    {
      get
      {
        if (ViewState["ThisValue"] == null)
        {
          return 0;
        }
        else
        {
          return Convert.ToInt32(ViewState["ThisValue"]);
        }
      }
      set
      {
        ViewState["ThisValue"] = value;
      }
    }
    /// <summary>
    /// 当前页面
    /// </summary>
    System.Web.UI.Page m_page;
    /// <summary>
    /// 功能描述:构造函数
    /// 作  者:huangzh
    /// 创建日期:2016-05-06 11:54:34
    /// 任务编号:
    /// </summary>
    /// <param name="page">当前页面</param>
    public ProgressBar(System.Web.UI.Page page)
    {
      m_page = page;
    }

    public void SetMaxValue(int intMaxValue)
    {
      MaxValue = intMaxValue;
    }

    /// <summary>
    /// 功能描述:初始化进度条
    /// 作  者:huangzh
    /// 创建日期:2016-05-06 11:55:26
    /// 任务编号:
    /// </summary>
    public void InitProgress()
    {
      //根据ProgressBar.htm显示进度条界面
      string templateFileName = AppDomain.CurrentDomain.BaseDirectory + "ProgressBar.htm";
      StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("GB2312"));
      string strhtml = reader.ReadToEnd();
      reader.Close();
      m_page.Response.Write(strhtml);
      m_page.Response.Flush();
    }

    /// <summary>
    /// 功能描述:设置标题
    /// 作  者:huangzh
    /// 创建日期:2016-05-06 11:55:36
    /// 任务编号:
    /// </summary>
    /// <param name="strTitle">strTitle</param>
    public void SetTitle(string strTitle)
    {
      string strjsBlock = "<script>SetTitle('" + strTitle + "'); </script>";

      m_page.Response.Write(strjsBlock);
      m_page.Response.Flush();
    }

    /// <summary>
    /// 功能描述:设置进度
    /// 作  者:huangzh
    /// 创建日期:2016-05-06 11:55:45
    /// 任务编号:
    /// </summary>
    /// <param name="percent">percent</param>
    public void AddProgress(int intpercent)
    {
      ThisValue = ThisValue + intpercent;
      double dblstep = ((double)ThisValue / (double)MaxValue) * 100;

      string strjsBlock = "<script>SetPorgressBar('" + dblstep.ToString("0.00") + "'); </script>";

      m_page.Response.Write(strjsBlock);
      m_page.Response.Flush();
    }


    public void DisponseProgress()
    {
      string strjsBlock = "<script>SetCompleted();</script>";
      m_page.Response.Write(strjsBlock);
      m_page.Response.Flush();
    }
  }
}

然后就是调用方法了,调用很简单,在页面的按钮事件或者其他什么地方加入代码,如在按钮事件里这么用

protected void btnImport_Click(object sender, EventArgs e)
    {
      ProgressBar pb = new ProgressBar(this);
      pb.SetMaxValue(110);
      pb.InitProgress();
      pb.SetTitle("这是一个测试数据");
      for (int i = 1; i <= 110; i++)
      {
        pb.AddProgress(1);
        //此处用线程休眠代替实际的操作,如加载数据等
        System.Threading.Thread.Sleep(50);
      }
      pb.DisponseProgress();
    }

怎么样,是不是很简单呢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# asp.net  # 进度条  # Asp.net基于ajax和jquery-ui实现进度条  # asp.net mvc 实现文件上传带进度条的思路与方法  # asp.net文件上传带进度条实现案例(多种风格)  # asp.net单文件带进度条上传的解决方案  # Asp.Net 无刷新文件上传并显示进度条的实现方法及思路  # asp.net 生成静态页时的进度条显示  # 利用Asp.Net回调机制实现进度条  # ASP.NET技巧:教你制做Web实时进度条  # ASP.NET MVC使用jQuery ui的progressbar实现进度条  # 创建日期  # 很简单  # 完成后  # 这是一个  # 他会  # 什么地方  # 或者其他  # 如在  # 先看  # 大家多多  # 测试数据  # 加载  # 用线  # title  # SetTitle  # ProgressTitle  # position  # maxValue  # div 


相关文章: 如何使用Golang table-driven基准测试_多组数据测量函数效率  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  怎么将XML数据可视化 D3.js加载XML  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  建站之星如何保障用户数据免受黑客入侵?  教学论文网站制作软件有哪些,写论文用什么软件 ?  Java解压缩zip - 解压缩多个文件或文件夹实例  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  长沙企业网站制作哪家好,长沙水业集团官方网站?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  浅谈Javascript中的Label语句  建站主机是否等同于虚拟主机?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何快速搭建FTP站点实现文件共享?  高防服务器租用指南:配置选择与快速部署攻略  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何快速查询网址的建站时间与历史轨迹?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网站制作免费,什么网站能看正片电影?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何在服务器上配置二级域名建站?  建站之星代理如何优化在线客服效率?  图册素材网站设计制作软件,图册的导出方式有几种?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  广德云建站网站建设方案与建站流程优化指南  ,想在网上投简历,哪几个网站比较好?  如何通过虚拟主机快速搭建个人网站?  建站之星导航配置指南:自助建站与SEO优化全解析  建站之星后台密码如何安全设置与找回?  如何快速搭建高效WAP手机网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  英语简历制作免费网站推荐,如何将简历翻译成英文?  浅析上传头像示例及其注意事项  制作网站外包平台,自动化接单网站有哪些?  h5在线制作网站电脑版下载,h5网页制作软件?  制作网站的模板软件,网站怎么建设?  建站主机选哪种环境更利于SEO优化?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  内网网站制作软件,内网的网站如何发布到外网?  装修招标网站设计制作流程,装修招标流程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。