using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DateTime startTime = System.DateTime.Now;
DateTime endTime = System.DateTime.Now;
// 根据 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();
System.Threading.Thread.Sleep(1000);
string jsBlock;
// 处理完成
jsBlock = "<script>BeginTrans('开始处理...');</script>";
Response.Write(jsBlock);
Response.Flush();
System.Threading.Thread.Sleep(1000);
// 根据处理任务处理情况更新进度条
for (int i = 1; i <= 100; i++)
{
System.Threading.Thread.Sleep(20);
jsBlock = "<script>SetPorgressBar('" + "A" + i.ToString() + "','" + i.ToString() + "');</script>";
Response.Write(jsBlock);
Response.Flush();
}
// 处理完成
jsBlock = "<script>EndTrans('处理完成。');</script>";
Response.Write(jsBlock);
Response.Flush();
// 用时
endTime = DateTime.Now;
jsBlock = "<script>SetTimeInfo('用时" + GetTimeSpan(startTime,endTime) + "');</script>";
Response.Write(jsBlock);
Response.Flush();
}
protected string GetTimeSpan(DateTime startTime, DateTime endTime)
{
string timeSpan = string.Empty;
TimeSpan ts = endTime - startTime;
if (ts.Days > 0)
timeSpan += ts.Days.ToString() + "天";
if (ts.Hours > 0)
timeSpan += ts.Hours.ToString() + "小时";
if (ts.Minutes > 0)
timeSpan += ts.Minutes.ToString() + "分钟";
if (ts.Seconds > 0)
timeSpan += ts.Seconds.ToString() + "秒";
return timeSpan;
}
}
<html>
<head>
<title></title>
<script language="javascript">
//开始处理
function BeginTrans(msg)
{
WriteText("Msg1",msg);
}
//设置进度条进度
function SetPorgressBar(msg, pos)
{
ProgressBar.style.width= pos + "%";
WriteText("Msg1",msg + " 已完成" + pos + "%");
}
//处理结束
function EndTrans(msg)
{
if(msg=="")
WriteText("Msg1","完成。");
else
WriteText("Msg1",msg);
}
//设置时间信息
function SetTimeInfo(msg)
{
WriteText("Msg2",msg);
}
// 更新文本显示信息
function WriteText(id, str)
{
var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>';
if (document.all) document.all[id].innerHTML = strTag;
}
</script>
</head>
<body>
<table align="center" style="height:100%">
<tr style="height:45%"><td></td></tr>
<tr>
<td>
<div id="Msg1" style="height:16px;"><font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><b>正在加载...</b></font></div>
<div id="ProgressBarSide" style="width:300px; color:Silver;border-width:1px; border-style:Solid;">
<div id="ProgressBar" align="center" style="height:20px; width:0%; background-color:#316AC5;"></div>
</div>
<div id="Msg2" style="height:16px;"><font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><b></b></font></div>
</td>
</tr>
<tr style="height:50%"><td></td></tr>
</table>
</body>
</html>
分享到:
相关推荐
在C#编程中,创建一个实时显示进度的进度条是常见的需求,特别是在执行长时间操作时,如文件上传、下载或大型数据处理等。本程序通过使用线程技术解决了窗体主线程因执行耗时任务而无法实时更新界面的问题。下面我们...
在C# WinForm应用开发中,为下载和上传文件实现进度条显示是一项常见的需求,它提供了用户友好的界面,让使用者能清晰地看到文件传输的状态。在这个场景中,VS2010作为集成开发环境(IDE)被用作编写代码的工具。...
在C#编程中,开发一个具有进度条功能的文件上传模块是常见的需求,尤其是在处理大文件时,用户界面的反馈显得尤为重要。进度条可以提供视觉上的提示,让用户了解上传过程的状态,增强用户体验。本篇文章将深入探讨...
在C#编程中,`progressBar`控件是Windows Forms应用程序中常见的组件,用于向用户显示操作的进度。...这样的功能在处理大量数据、上传下载文件或其他长时间运行的任务时非常有用,能提供良好的用户体验。
在C#编程中,进度条通常用于用户界面(UI)中,向用户显示某个耗时操作的进度,比如文件上传、下载或者数据处理等。它提供了可视化反馈,让用户知道程序并未卡住,而是正在执行任务。下面我们将深入探讨如何使用C#...
本资源"layui文件上传带进度条显示.zip"结合了`layui`与`PHP`,实现了文件上传过程中带有进度条的交互效果,提升了用户体验。 首先,我们要理解`layui`的文件上传组件是如何工作的。`layui`的上传组件基于HTML5的`...
要实现文件上传进度条,我们需要使用到Layui的AjaxUpload组件,该组件可以用来上传文件并显示上传进度。我们可以使用`layui.upload`方法来上传文件,并使用`on`方法来监听上传进度。 例如: ```javascript layui....
在.NET框架中,C#语言提供了丰富的功能来处理文件上传,特别是对于大文件上传和进度条显示这样的高级需求。在本文中,我们将深入探讨如何在C#中实现大文件上传并展示进度条,以供开发者参考和应用。 一、大文件上传...
在C#编程中,进度条是一种用户界面元素,用于向用户显示某个操作的进度或状态。这通常在执行长时间运行的任务时使用,如文件上传、下载或数据处理。本示例将详细介绍如何利用线程来更新进度条并显示任务的完成百分比...
标题中的"大文件上传c#源码带进度条"指的是一个C#实现的程序,能够支持大文件的分块上传,并且在上传过程中显示进度条,为用户提供直观的反馈。 在大文件上传中,常见的技术挑战包括文件的切片、断点续传和多线程...
在Java编程环境中,FTP(File Transfer Protocol)上传文件并实现进度条显示是一个常见的需求,尤其在用户界面设计中。下面将详细讲解如何使用Java的Swing库创建一个带有进度条的FTP文件上传功能。 首先,我们需要...
此方法不仅适用于简单的进度显示,也可以扩展到更复杂的场景,如文件上传或下载等操作的监控。 #### 五、拓展阅读 对于希望深入了解C# WinForms编程以及多线程技术的读者,建议参考以下资源: 1. [C# 编程指南]...
在Web上传场景中,进度条控件可以显示文件传输的进度,帮助用户了解文件上传的状态,是长时操作中的重要提示元素。 ASP.NET框架提供了多种方法来实现这种功能。一种常见的方法是使用AJAX(Asynchronous JavaScript ...
在C#和C++编程中,实现进度条功能对于提高用户体验至关重要,尤其是在执行长时间运行的操作时,如文件上传、下载或复杂的计算过程。下面我们将详细探讨C#和C++中的进度条实现及其相关知识点。 首先,我们来看C#中的...
5. **应用场景**:在实际项目中,圆环进度条可以用于各种情况,如程序启动时的加载指示器,展示文件上传或下载进度,或者任何需要实时反馈的任务执行过程。 6. **性能优化**:由于圆环进度条可能需要频繁重绘,我们...
在本文中,我们将深入探讨如何使用C#编程语言和Renci.SshNet库来实现SFTP(Secure File Transfer Protocol)文件的上传与下载,并且在操作过程中添加进度条功能。SFTP是一种安全的网络协议,用于在客户端和服务器...
在ASP.NET中实现大文件上传并显示进度条是一项常见的需求,尤其在处理用户可能上传的大量数据时。本文将深入探讨如何在ASP.NET环境中利用C#语言开发一个具有上传进度条功能的大文件上传系统。 首先,我们需要理解...
前面上传过一次,不能编辑了,重新上传...和前面那个相比,代码优化了一下:1)上传和下载完成的时候关闭FileStream(不关闭的话下载完成之后本地操作该文件会提示被占用),2)增加了连续下载多个文件(位于Form2)。
在C# WinForm应用开发中,为下载和上传文件实现进度条显示是一项常见的需求,它能够提供用户友好的界面体验,让使用者了解操作的实时状态。本项目标题和描述所涉及的知识点主要涵盖以下几个方面: 1. **WinForm控件...
在IT领域,大文件上传和进度条显示是用户体验的重要组成部分,尤其是在Web应用中。NeatUpload是一个专门针对ASP.NET平台设计的组件,旨在解决大文件上传时遇到的问题,如长时间等待、无法中断或监控上传进度等。这个...