.net 有没有一个函数在任何页面加载到你的应用程序中的时候都被调用?

46qrfjad  于 2023-04-08  发布在  .NET
关注(0)|答案(5)|浏览(108)

我希望能够运行一个脚本任何时候任何页面加载在应用程序中。有没有什么地方我可以简单地添加这个?或者我必须添加在每个页面加载的代码?

bfrts1fy

bfrts1fy1#

您可以执行以下三项操作之一:
1.在应用程序中使用**base page,并使应用程序中的所有页面都从其继承。在基页的page_load事件中,执行必须执行的操作。确保应用程序中的继承页面调用基页的page_load事件,如果它们是override page_load由于page_load被过度使用,我将给予相关的建议,看看all the page events(特别是page_prerender),以防另一个更合适。
1.使用在
global.asax页面中触发的事件,每当接收到请求时都会发生。请查看Application_BeginRequest事件。但是,那里有一堆事件,所以如果另一个事件更适合您的情况,请使用check them all out。(就像常规页面事件一样,不要养成总是使用相同事件的坏习惯。)
1.您希望每次发生的事情都有可能进入
master page**,特别是如果它与布局相关。母版页看起来很可爱,但在良好的设计中证明了自己。如果您使用母版页的page_load事件实现常见功能,则不必从每个内容页的page_load调用它;它在每次after the called-page的page_load事件时触发。(我提到这个是因为一开始很容易混淆母版页和基页。)

hgncfbus

hgncfbus3#

你也可以创建并注册一个HTTP Module,这样做的好处是它们在web.config中注册,所以你可以在运行时添加和删除它们,如果你想的话……并且有多个。

luaexgnf

luaexgnf4#

您可以为您的页面创建一个公共基类,继承自System.Web.UI.Page,并将代码添加到OnLoad处理程序中。

f8rj6qna

f8rj6qna5#

您可以使用PageAdapters通过拦截ASP.NETPage生命周期的任何方法在每个aspx页请求上注入代码。
这篇文章可以帮助你理解它的工作原理:http://dotnet.org.za/hiltong/archive/2008/01/06/injecting-a-page-base-class-in-asp-net.aspx
问候。

相关问题