用javascript实现(页面正在加载的效果)

本文介绍了一个使用 ASP.NET WebForm 实现的页面加载指示器,通过 JavaScript 动态更新页面显示状态,模拟页面加载进度,适用于需要长时间处理的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码文件:

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

    public class WebForm2 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.Button Button1;
        
protected System.Web.UI.WebControls.Label Label1;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            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();
//这一句是最关键的
        }


        
private void Button1_Click(object sender, System.EventArgs e)
        
{
            
//当点击按钮时,假设请求需要较长时间(这里设置为10秒)
            System.Threading.Thread.Sleep(10000);
            
this.Label1.Text = "终于加载完成啦";
        }


        
Web 窗体设计器生成的代码


    }

}



页面文件:
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="AjaxTest.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>
         HideWait();
        
</script>
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<FONT face="宋体">
                
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 480px; POSITION: absolute; TOP: 200px" runat="server"
                    Text
="Button"></asp:Button>
                
<asp:Label id="Label1" style="Z-INDEX: 102; LEFT: 632px; POSITION: absolute; TOP: 240px" runat="server">Label</asp:Label></FONT>
        
</form>
    
</body>
</HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值