• 对于长时间装载的ASP.NET页面,如何在客户端浏览器中显示进度?


    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 Exercise
    {
        
    /// <summary>
        
    /// WebForm2 的摘要说明。
        
    /// </summary>

        public class WebForm2 : System.Web.UI.Page
        
    {
            
    private void Page_Load(object sender, System.EventArgs e)
            
    {
                
    // 对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度?
                
    //对于加载时间比较长的ASP.NET页面,
                
    //我们可以在客户端浏览器中显示进度条来显示页面正在装载。下面就是具体的实现过程:
                if(!IsPostBack)
                
    {
                    Response.Write(
    "<div id='mydiv' >");
                    Response.Write(
    "_");
                    Response.Write(
    "</div>");
                    Response.Write(
    "<script>mydiv.innerText = '';</script>");
                    Response.Write(
    "<script language=javascript>;");
                    Response.Write(
    "var dots = 0;var dotmax = 10;function ShowWait()");
                    Response.Write(
    "{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;");
                    Response.Write(
    "for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText =  output;}");
                    Response.Write(
    "function StartShowWait(){mydiv.style.visibility = 'visible'; ");
                    Response.Write(
    "window.setInterval('ShowWait()',1000);}");
                    Response.Write(
    "function HideWait(){mydiv.style.visibility = 'hidden';");
                    Response.Write(
    "window.clearInterval();}");
                    Response.Write(
    "StartShowWait();</script>");                
                    Response.Flush();
                    
    for(long i=0;i<99999999999;i++) i=i++;
                    
    //or Thread.Sleep(10000);
                }


            }


            
    #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

        }

    }

    <%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="Exercise.WebForm2" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
        
    <HEAD>
            
    <title>WebForm2</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">
            HideWait();
            
    </script>
        
    </HEAD>
        
    <body MS_POSITIONING="GridLayout">
            
    <form id="Form1" method="post" runat="server">
                
    &nbsp;
            
    </form>
        
    </body>
    </HTML>
  • 相关阅读:
    Python3中zipfile模块文件名乱码问题
    python zipfile 文件压缩和文件
    django+celery+rabitmq
    解决 Jumpserver coco 使用登录用户(ldap)进行SSH连接目标主机,忽略系统用户
    日志实时查看、轮询、统计、监控工具 Loggrove
    python django 多级业务树形结构规划及页面渲染
    nginx+uwsgi 部署 django
    python tornado websocket 实时日志展示
    python tornado websocket 多聊天室(返回消息给部分连接者)
    python 实时遍历日志文件
  • 原文地址:https://www.cnblogs.com/happyday56/p/1363413.html
Copyright © 2020-2023  润新知