不同执行顺序的目的:Init() 和 Load()

2024-02-26

在最近的一次采访中,有人问了以下问题。

• A Master page which contains 
   • An ASPX web form page which contains 
      • A Web User Control inside the page which contains 
         • A button to fire some code in a button_click event

Init 事件将触发(最内层到最外层)

aspx.page Begin Init
   –> Inside user control Page_Init 
   –> Inside master page Page_Init
   –> Inside lifecycle page Page_Init 
aspx.page End Init

并且加载事件将会触发

aspx.page Begin Load
  –> Inside lifecycle page Page_Load
  –> Inside master page Page_Load
  –> Inside user control Page_Load 
aspx.page End Load

为什么 ASP.NET 框架支持不同的执行顺序Load() and Init().这是面试时问的问题。我不知道面试官对我的期望是什么。

我请求你的帮助。


我建议阅读有关ASP.NET 页面生命周期 http://msdn.microsoft.com/en-us/library/ms178472.aspx.

两者的目的不同,因此执行顺序也不同。

初始化:

在页面初始化期间,页面上的控件可用,并且每个控件的 UniqueID 属性均已设置。如果适用,母版页和主题也会应用于页面。如果当前请求是回发,则回发数据尚未加载,控件属性值尚未恢复为视图状态中的值。

Load:

在加载期间,如果当前请求是回发,则控件属性将加载从视图状态和控件状态恢复的信息。

此外,您还需要了解关系 https://stackoverflow.com/questions/3716734/what-is-the-relation-between-a-content-page-and-master-page-in-terms-of-oop母版页和内容页之间(母版页实际上包含在内容页中,而不是相反)和两者的完整生命周期 http://blogs.thesitedoctor.co.uk/tim/2006/06/30/Complete+Lifecycle+Of+An+ASPNet+Page+And+Controls.aspx.


因此,在初始化期间,需要首先初始化用户控件,以便它们可供其容器使用,然后是母版页,以便其内容可供内容页使用,然后是页面本身,从而完成控件层次结构初始化。

在加载期间,会发生相反的情况,因为现在所有回发数据都已设置并且所有控件都已准备好并且可以触发不同的事件。顶部容器首先加载内容页(因为它可以更改母版页和用户控件),然后加载母版页,最后加载叶控件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不同执行顺序的目的:Init() 和 Load() 的相关文章

  • Response.Redirect() 将绝对 URL 作为相对 URL 处理

    我有一个 net C 页面 它重定向到绝对 url 例如 Response Redirect rtsp myvideoServer com myVideoAddress mp4 ticket 1234 dt 1234 但重定向后会导致 ht
  • ASP.NET Web API 依赖注入

    我想知道是否可以在 ASP NET Web API 中进行依赖项注入 自定义构造函数 而无需使用第三方库 例如 Unity 或 StructureMap 且无需实体框架 我想要实现的是拥有一个带有构造函数的控制器 例如 public Con
  • android ndk 多点触控?

    我正在编写一个仅使用本机代码的应用程序 那么ndk中是否可以获取多点触控事件呢 我感觉我已经搜索了整个网络 但什么也没找到 有谁知道如何做到这一点 是的 您可以检查名为native activity查看如何获取输入事件 寻找engine h
  • MVC + Razor:如何有条件地添加起始

    我想根据变量是否设置来修改div 所以我想做这样的事情 if SomethingIsSet div style background red else div style background blue 但我在 Visual Studio
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • Angular2 与 ASP.NET 5 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在将 Angular2 与 ASP NET5 gulp 和 typescript 结合使用 当我解决
  • 如果使用 jQuery 隐藏了 ASP:Button,我无法单击该按钮?

    我发现 StackOverFlow 答案和其他资源说您可以通过 jQuery 单击隐藏的 ASP Button click or trigger click 然而 这些都不适合我 除非按钮是 Visible true 这是按钮
  • 如何使用 Blazor 在 ASP.NET CORE 中更新数据库后刷新网页

    我正在制作一个小型房间预订网络应用程序 我希望在给定的时间间隔内刷新网页 即给定的一分钟或对数据库进行更改时 我发现StateHasChanged 但我真的不知道如何实现它 这里是新手一克诺比 我尝试将其放在将约会添加到日程表的函数中 va
  • ASP.NET IIS 7.5 HTTP 500.21 错误

    我在设置本地站点时遇到问题 该项目使用 ASP NET Framework 4 0 我的 DefaultAppPool 使用 4 0 并集成托管管道模式 这是我得到的错误 HTTP Error 500 21 Internal Server
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 通过 SharpDX 渲染 Direct2D 图像时如何使用内存流而不是文件?

    设置 考虑使用给定的临时程序SharpDX http code google com p sharpdx Direct 库的托管包装器 用于渲染位图并将其保存为 PNG namespace ConsoleApplication5 using
  • 如何创建可点击的gridview行?

    我想创建一个 gridview 行 其中整行都是可单击的 当我单击该行上的任意位置时 它会打开另一个包含行信息的 aspx 页面 我正在使用 asp net 和 C 任何人都可以帮助我吗 提前致谢 触发 Gridview 的两个事件 OnR
  • 在 ASP.NET 中加密 cookie

    我想在 ASP NET 中加密 cookie 我已关注本文的方法 http www codeproject com KB web security HttpSecureCookie aspx 但它有一个缺点 那就是在内部方法上使用反射 这导
  • 良好的错误处理实践

    对于 ASP NET 站点来说 什么是良好的错误处理实践 例子 谢谢 与任何 net 项目一样 我发现最好的方法是仅捕获可能发生在给定页面上的特定错误类型 例如 您可以捕获用户给定输入的格式异常 以防 JavaScript 验证失败并且您没
  • 如何为本机启用现有 WCF 服务的 JSONP?

    我有一个现有的服务 如下方法 AspNetCompatibilityRequirements RequirementsMode AspNetCompatibilityRequirementsMode Allowed ServiceBehav
  • 存储在 Session 中的变量在整个页面生命周期中是否反序列化一次或多次?

    我想以类似的方式包装会话变量在 CodeProject 上讨论 http www codeproject com KB aspnet wrapthosesessionvariables aspx msg 2315287 public sta
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • ASP.Net 应用程序中的音频/视频/文本聊天

    我需要在 ASP Net 中开发一个聊天系统 我已经浏览了很多关于类似主题的问题 但没有找到任何一个令人满意的 是否可以从头开始创建它 或者我是否需要使用一些 API 我的要求仅限于我的网站用户 可以说基于内联网 请帮我 要进行文字聊天 人
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt

随机推荐