对于长时间装载的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 >
分类:  IIS, C# Asp.net

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2008/12/27/1363413.html,如需转载请自行联系原作者
相关文章
|
3月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
48 5
|
6月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
134 7
|
3月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
|
3月前
|
存储 API 网络架构
【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度
【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
565 0
|
开发框架 JavaScript .NET
Asp.net C#页面传参的几种方式
Asp.net C#页面传参的几种方式
140 0
mvc.net分页查询案例——前台页面(Index.aspx)
mvc.net分页查询案例——前台页面(Index.aspx)
|
开发框架 JSON 前端开发
【C#】.net core2.1,自定义全局类对API接口和视图页面产生的异常统一处理
在开发一个网站项目时,异常处理和过滤功能是最基础的模块 本篇文章就来讲讲,如何自定义全局异常类来统一处理
238 0
|
.NET 数据库连接 数据库
艾伟_转载:温习:ASP.NET页面生命周期
ASP.NET 页面生命周期虽然是最基础的东东,但我发现很多人不能准确地的说出,可能多数程序人员只是对深层技术感兴趣的原因吧?可是如果忘记了最基础的东西,有时会给你的开发制造很大的麻烦。现在把MSDN上的ASP.NET页面生命周期贴出来,大家温习一下吧(温习之前请问一下自己你知道吗): ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。
882 0

相关实验场景

更多