当前位置:  开发笔记 > 编程语言 > 正文

Asp.Net Global.asax访问当前请求的Page对象

如何解决《Asp.NetGlobal.asax访问当前请求的Page对象》经验,为你挑选了1个好方法。

有没有办法可以从global.asax Application_EndRequest函数中访问页面对象?

我正在尝试在请求结束时设置标签的文本,但访问该页面比我想象的要困难.

这是我目前没有工作的东西:

protected void Application_BeginRequest(Object sender, EventArgs e)

    {

        Context.Items.Add("Request_Start_Time", DateTime.Now);

    }

    protected void Application_EndRequest(Object sender, EventArgs e)
    {

        TimeSpan tsDuration = DateTime.Now.Subtract((DateTime)Context.Items["Request_Start_Time"]);

        System.Web.UI.Page page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page;
        if (page != null)
        {
            Label label = page.FindControl("lblProcessingTime") as Label;
            if (label != null)
            {
                label.Text = String.Format("Request Processing Time: {0}", tsDuration.ToString());
            }
        }
    }

页面在此处始终为null.

提前致谢.



1> Noldorin..:

最好只创建一个BasePage类,您的所有页面都应该从该类继承.然后,您可以将代码放在页面的Unload事件中,并且不会出现问题.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有