获取页面加载时间(转载修改)

转载地址:不好意思,不记得了。感谢原创者!!

有不和My97DatePicker发生冲突的日历控件吗?功能和My97差不多。大家推荐一下。

获取页面执行时间的几种方法(asp.net)
     大家在编程的时候,经常想测试一下自己这个页面的执行时间,特别是在asp.net测试的过程中,

为了解决这个问题,在下总结了一下页面加载执行时间的方法,供大家学习之用!

一、从服务器端得到

1.在global.asax文件中计算时间

(这种方法最好了,不用在其他地方加任何代码了。但是和My97DatePicker发生冲突。只要在除了页面CS文件的CS文件中WRITE就会报错)

DateTime dt;
        protected void Application_BeginRequest(Object sender, EventArgs E)
        {
            dt = DateTime.Now;
        }

        protected void Application_EndRequest(Object sender, EventArgs E)
        {

            DateTime dt2 = DateTime.Now;
            TimeSpan ts = dt2 - dt;
            Response.Write("页面加载的时间" + ts.TotalMilliseconds.ToString() + " 毫秒");
        }
2.在 aspx.cs中增加如下方法

(做一个父类BasePage.cs,重写Page的各种事件。每个页面从BasePage.cs继承。不会和My97DatePicker发生冲突)

protected DateTime dt;
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected override void OnPreInit(EventArgs e)
        {
            dt = DateTime.Now;
            base.OnPreInit(e);
        }

        protected override void OnLoadComplete(EventArgs e)
        {
            base.OnLoadComplete(e);
            TimeSpan ts = DateTime.Now - dt;
            Response.Write("加载页面用时:" + ts.TotalMilliseconds);
        }

3.使用HttpHandle实现,也会和Ny97DatePicker发生冲突

 

二、从客户端来看加载时间

(貌似显示的时间不准确)

步骤如下:

1.在页面Head部分加入初始时间
<script language=javascript>
var t1 = new Date().getTime();
</script>
2.在Body中加入

<SCRIPT LANGUAGE="JavaScript">
window.onload = function()
{
document.getElementById("TimeShow").innerHTML = "加载本页耗时 "+ (new Date().getTime()-t1) +" 毫秒";
}
</SCRIPT>
3.在需要显示的地方插入一个ID为TimeShow的标签即可

<div id="TimeShow"></div>

posted @ 2009-11-12 11:32  济阳补丁  阅读(1771)  评论(0编辑  收藏  举报