asp.net进度条
一、原理:
要实现进度条的实时反映,核心的技术就是对上传的数据进行“分块”读取,在读取每块数据时记录当前已上传的块数,根据
分块的大小,即可知道已上传的大小,根据总大小,即可知道当前上传的进度。具体的技术还是利用隐含的HttpWorkerRequest
,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据,只不过仅仅是分块和
记录已上传块数而已,用不着对已上传的数据进行分析和处理,因为这部分复杂的工作已经由asp.net的上传组件给我们做了。
根据上面所述的原理,具体代码相对很简单,我写了一个例子,用一个专门的进度显示页面(Progress.aspx),通过定时刷
新(XmlHttp, FF支持)来获取当前上传的进度信息,并实时反映到上传页面上。
相关文档:
最近搞用户验证时,出了个问题,查阅资料解决后,整理了一下。第一篇blog
主要就是父类和子类间OnLoad,OnInit,Load 事件,Init事件的执行先后问题。
一个页面(子类)的Oninit方法最先启动执行,而后递归执行父类中Oninit方法,父类Oninit方法中添加Init事件,执行Page_Init方法,后再返回父类Oninit方法执行完毕,最后返 ......
1、ASP.NET中的AJAX应用开发总结
http://blog.csdn.net/zhoufoxcn/archive/2009/12/07/4954645.aspx
2、用自定义IHttpModule实现URL重写
http://blog.csdn.net/zhoufoxcn/archive/2009/07/14/4346356.aspx
3、把C#中方法重载说透
http://blog.csdn.net/zhoufoxcn/archive/2008/09/09/2902078.aspx
4、.net 实现 URL重 ......
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="articleview.aspx.cs" Inherits="articleview" %>
<!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"> ......