中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在ASP.NET項目中實現一個進度條效果

發布時間:2021-02-08 17:30:24 來源:億速云 閱讀:540 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關如何在ASP.NET項目中實現一個進度條效果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

<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" >
  </div>
  <div id="ProgressText" >
  </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項目中實現一個進度條效果有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新疆| 巴南区| 潼关县| 南澳县| 马边| 濮阳县| 涞水县| 义马市| 汽车| 肥城市| 错那县| 额济纳旗| 神木县| 依安县| 祁连县| 海淀区| 德惠市| 天全县| 聂拉木县| 浦东新区| 白银市| 凉山| 兰州市| 通道| 巩义市| 缙云县| 高邑县| 文山县| 兴国县| 嘉峪关市| 阳谷县| 邢台市| 买车| 图们市| 望谟县| 抚远县| 安化县| 乌审旗| 无极县| 北碚区| 若羌县|