当前位置: 首页 > 编程语言 > C#

ASP.NET页面'Page_Load'在MasterPage的'Page_Load'事件之前触发?

时间:2023-04-10 11:32:35 C#

ASP.NET页面“Page_Load”在母版页的“Page_Load”事件之前触发?在我的母版页上,我在Page_Load事件中有一个小方法,用于检查用户是否已登录,如果没有,则将他们重定向到“登录”页面。问题是,对于我的某些页面,Page_Load事件假定记录的用户在那里,并且这些事件似乎在主页中的登录检查之前触发,这导致了错误。有什么办法可以解决这个问题吗?除了Page_Load之外,我可以在我的页面中使用任何事件吗?这些事件会在母版页之后触发吗?您有一个丰富的PageCycle,可以使用很多事件。也许你可以使用Page_Init来检查用户是否在主页面登录。或者在其他页面使用Page_PreRender。如果您需要在页面事件之前在MasterPagePage_Load中发生一些事情,请在实际页面中使用Page_PreRenderprotectedvoidPage_PreRender(objectsender,EventArgse)。您必须检查用户是否使用这些功能登录:if(this.Page.User.Identity.IsAuthenticated==true){..}。没有什么可以假设的,这就是你正在经历的。您还可以将登录检查移至Page_Init,甚至将其移至在每次页面加载时运行的HTTP模块;在那里您可以访问各种事件,包括应用程序身份验证/授权。如果您使用的是表单身份验证,则可以使用配置文件来驱动它通过授权元素。HTH。以上是C#学习教程:ASP.NETpage'Page_Load'triggersbeforeMasterPage's'Page_Load'event?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: