Page_PreRender和Global.asax

时间:2012-08-29 20:46:55

标签: asp.net

我想在global.asax级别绑定到Page PreRender方法,但由于某种原因,该方法永远不会被调用。我的方法看起来像:

    protected void Page_PreRender(object source, EventArgs e)
    {
        /* do stuff */
    }

我能在Global.asax中调用这样的Page事件吗?

1 个答案:

答案 0 :(得分:1)

global.asax派生自HttpApplication类,不包含Page_PreRender事件,如您在MSDN参考上所见:

http://msdn.microsoft.com/en-us/library/system.web.httpapplication(VS.90).aspx

如果要全局捕获PreRender事件,可以为System.Web.UI.Page创建不同的基类,覆盖此事件,并将此类用于您的页面。

例如

public abstract class BasePage : System.Web.UI.Page
{
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
    }
}

并使用您网页上的BasePage