`

.net web加载时出现正在加载的效果

 
阅读更多

方法一:
1、添加 引用
using System.Threading;
2、在页面加载时
protected void Page_Load(object sender, EventArgs e)
{////////////////////以下是进度条
Response.Write("<div style='COLOR: red; POSITION: absolute; ' 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();
Thread.Sleep(1000);
////////////////////////////////////////
}
3、在后台脚本添加
<script language="javascript">

HideWait();
</script>

方法二:
首先建一个HTML面,源码为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow" >
<head >
<title >无标题页 </title >
<script language="javascript" type="text/javascript" >
function SetPorgressBar(pos)
{
//设置进度条居中
var screenHeight = window["mainWindow"].offsetHeight;
var screenWidth = window["mainWindow"].offsetWidth;
ProgressBarSide.style.width = Math.round(screenWidth / 4);
ProgressBarSide.style.left = Math.round(screenWidth / 3);
ProgressBarSide.style.top = Math.round(screenHeight / 2);
ProgressBarSide.style.height = "21px";
ProgressBarSide.style.display = "";

//设置进度条百分比
ProgressBar.style.width = pos + "%";
ProgressText.innerHTML = "正在加载,请稍后....." + pos + "%";
}

//完成后隐藏进度条
function SetCompleted()
{
ProgressBarSide.style.display = "none";
MyTable.style.display="none";
}
</script >
</head >
<body >
<!-- <div id="mydiv" style="width: 224px" >数据处理中.... </div >-- >
<div id="ProgressBarSide" style="position:absolute;height:21px;width:100px;color:Silver;border-width:1px;border-style:Solid;display:none" >
<div id="ProgressBar" style="position:absolute;height:21px;width:0%;background-color:PaleTurquoise" > </div >
<div id="ProgressText" style="position:absolute;height:21px;width:100%;text-align:center" > </div >

</div >
</body >
</html >

在你要显示的页面page_load,代码:
if (!Page.IsPostBack)
{
beginProgress();

for (int i = 1; i <= 100; i++)
{
setProgress(i);

//此处用线程休眠代替实际的操作,如加载数据等
System.Threading.Thread.Sleep(20);
}

finishProgress();
}

函数:
/// <summary >
///显示进度条
/// </summary >

private void beginProgress()
{
//根据ProgressBar.htm显示进度条界面
string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
StreamReader reader = new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("GB2312"));
string html = reader.ReadToEnd();
reader.Close();
Response.Write(html);
Response.Flush();
}

private void setProgress(int percent)
{
string jsBlock = " <script >SetPorgressBar( "" + percent.ToString() + " "); </script >";
Response.Write(jsBlock);
Response.Flush();
}

private void finishProgress()
{
string jsBlock = " <script >SetCompleted(); </script >";
Response.Write(jsBlock);
Response.Flush();
}

方法三:

1. 进度条模板文件 ProgressBar.htm
1<HTML>
2<head>
3<title></title>
4<script language="JavaScript">
5//设置进度条进度
6function SetPorgressBar(msg, pos)
7{
8 ProgressBar.style.width= pos +"%";
9 WriteText("Msg1",msg +" 已完成"+ pos +"%");
10}
11
12//设置进度条完成信息
13function SetCompleted(msg)
14{
15 if(msg=="")
16 WriteText("Msg1","完成。");
17 else
18 WriteText("Msg1",msg);
19}
20
21// 更新文本显示信息
22function WriteText(id, str)
23{
24 var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>';
25 if (document.all) document.all[id].innerHTML = strTag;
26}
27</script>
28</head>
29<body>
30<div id="Msg1"><font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><b>正在加载</b></font></div>
31<div id="ProgressBarSide" style="color:Silver;border-width:1px;border-style:Solid;width:300px;">
32 <div id="ProgressBar" style="background-color:#3366FF; height:21px; width:0%;"></div>
33</div>
34</body>
35</HTML>

2. Default.ASPx

1 protectedvoid Page_Load(object sender, EventArgs e)
2 {
3 // 根据 ProgressBar.htm 显示进度条界面
4 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
5 StreamReader reader =new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("gb2312"));
6 string HTML = reader.ReadToEnd();
7 reader.Close();
8 Response.Write(HTML);
9 Response.Flush();
10 System.Threading.Thread.Sleep(200);
11
12 // 根据处理任务处理情况更新进度条
13 string jsBlock;
14 for (int i =1; i <=100; i++)
15 {
16 System.Threading.Thread.Sleep(10);
17 jsBlock ="<script>SetPorgressBar('"+"A"+ i.ToString() +"','"+ i.ToString() +"'); </script>";
18
19 Response.Write(jsBlock);
20 Response.Flush();
21 }
22
23 // 处理完成
24 jsBlock ="<script>SetCompleted('处理完成。'); </script>";
25 Response.Write(jsBlock);
26 Response.Flush();
27 }
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Asp.net动态加载控件的示例源码

    在Asp.net开发中,动态加载控件是一种常见的技术,它允许我们在运行时根据需要创建、添加或移除页面上的控件。这种技术对于构建高度可配置或数据驱动的Web应用程序非常有用,因为它可以减少页面的初始加载时间,并...

    ASP.NET实现网页预加载效果

    在网页预加载效果的实现中,ASP.NET 提供了丰富的工具和技术,可以帮助开发者优化用户体验,使得用户在等待页面加载时能感知到进度,从而提高网站的交互性和吸引力。 网页预加载是一种优化网页性能的技术,它在用户...

    ASP.NET Web程序设计

    - 页面生命周期:理解一个ASP.NET Web Form从请求到响应的完整过程,包括初始化、加载、回发和卸载等阶段。 4. **服务器控件** - 常用控件:如Label、TextBox、Button等,以及它们的属性、方法和事件。 - 数据...

    .net进度条 加载提示,好东西分享下

    对于加载提示,它们通常以文本或图标的形式出现,告知用户程序正在运行一个过程,并可能提供一些额外的信息,比如“正在加载数据...”或“请稍候”。在.NET中,我们可以通过控制台输出、对话框(如MessageBox)或者...

    .net前端web模板

    《.NET前端Web模板详解——基于startbootstrap-sb-admin-2-master》 在现代Web开发中,高效且美观的前端模板对于快速构建企业级应用至关重要。.NET框架提供了丰富的工具和资源,使得开发者能够轻松创建复杂的Web...

    vb.net web开发精典实例

    《VB.NET Web开发精典实例》是一本专为学习VB.NET Web编程的开发者设计的实践教程,它深入浅出地展示了如何在B/S(Browser/Server)架构下进行高效的Web应用开发。B/S架构是一种典型的客户端-服务器模式,其中浏览器...

    ASP.NET web 开发示例

    ASP.NET Web 开发示例是针对使用微软的ASP.NET框架构建Web应用程序的一个实践教程。这个框架为开发人员提供了一个高效、安全且可扩展的环境,用于创建动态网页和Web应用程序。在本文中,我们将深入探讨ASP.NET Web...

    vb.net web程序开发实例

    在VB.NET中进行Web程序开发是一项广泛应用于企业级应用的技术,它基于.NET Framework,提供了强大的功能和便捷的开发工具。本实例集主要涵盖了VB.NET在Web应用程序开发中的各种实际应用场景和解决方案。 首先,VB...

    Asp.Net Web网站.rar

    Asp.Net Web网站技术是微软开发的一种用于构建动态网页应用程序的框架,它允许开发者使用.NET Framework来创建功能丰富的、交互式的Web应用。本压缩包文件包含了一个完整的Asp.Net Web网站示例,其中可能包括了HTML...

    ASP.NET Web站点高级编程

    **ASP.NET Web站点高级编程** 是一门深入探讨ASP.NET技术在构建高效、复杂Web应用程序方面的高级主题的学科。这门技术涵盖了从基础架构到高级特性的广泛内容,旨在帮助开发者充分利用.NET Framework的功能来创建高...

    ASP.NET Web开发学习实录_源码

    ASP.NET Web Forms中的页面生命周期包括初始化、加载、验证、呈现和卸载等阶段,理解这些阶段有助于编写正确处理用户交互的代码。同时,ASP.NET提供了多种状态管理机制,如视图状态、隐藏字段、查询字符串、会话...

    asp.net 中使用iframe动态加载页面

    ASP.NET 中使用 iframe 动态加载页面 ASP.NET 中使用 iframe 动态加载页面是指在 ASP.NET 应用程序中使用 iframe 元素来加载外部页面或资源的技术。这种技术可以使得开发者更方便地在应用程序中嵌入外部资源,提高...

    asp.net实现全屏显示加载时

    通过这种方式,可以在ASP.NET应用中轻松实现页面加载时的全屏显示效果。 #### 三、总结 本文介绍了如何使用ASP.NET实现页面加载时的全屏显示功能。通过对原始代码的理解与扩展,我们不仅了解了使用.NET框架启动...

    .net动态加载用户控件

    在.NET框架中,动态加载用户控件是一种常见的技术,它允许程序在运行时根据需要加载和实例化用户自定义的控件。这种技术在大型Web应用程序中尤其有用,因为可以提高程序的灵活性和可扩展性,减少初始加载时间,以及...

    ASP.NET Web应用程序的开发

    ASP.NET Web应用程序开发是微软公司推出的用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了丰富的功能和工具,使开发者能够高效地创建高性能、安全性和可伸缩性的Web解决方案。 在开发...

    《ASP.NET Web程序设计》-王祖俪-电子教案-4605

    在学习ASP.NET Web程序设计时,首先要了解的是ASP.NET的运行环境——.NET Framework。.NET Framework是微软提供的一个全面的开发平台,包含了运行托管代码所需的所有服务和库。它提供了Common Language Runtime (CLR...

    一个基于ASP.NET的动态加载Flash到Web网页的控件源代码

    在ASP.NET框架中,动态加载Flash到Web页面是一项常见的需求,它能够为用户提供更加丰富的交互体验和视觉效果。这个控件的实现基于VS2005+C#,利用了ASP.NET的强大功能和C#语言的灵活性,使得Flash内容可以在网页上...

    asp.net 分频加载

    ASP.NET 分频加载,也称为延迟加载或按需加载,是一种优化Web应用程序性能的技术。它允许页面只在真正需要时加载部分数据或控件,而不是一次性加载所有内容,从而减少了初次加载时间,提升了用户体验,尤其是对于大...

Global site tag (gtag.js) - Google Analytics