If I get you right, you've something which logically needs to happen in Page_Load, but you want to avoid the obvious issues with duplicating that code in each case
If you don't want to change every aspx page then you can go for 'custom HTTP module', An HTTP module is called on every request in response to the BeginRequest and EndRequest events. As a result, the module runs before and after a request is processed.
Before every page load it gets called.
Check detail
Walkthrough: Creating and Registering a Custom HTTP Module[
^]
OR
in Global.asax you can hook up desired event in Application_PreRequestHandlerExecute
see below snippet
void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
if (context.Handler is Page)
{
Page page = (Page)context.Handler;
page.Load += ...
}
}
}