我的项目文件中有以下文件。
- 用户控制
- 内容页
- 站长
我正在检查页面生命周期中的Render
事件。Render
事件正在按以下顺序执行。
- 内容页
- 母版页
- 用户控制
显然,它是预定义的。
问题是,为什么是内容页,然后是母版页,最后是用户控制?
我的意思是如何合并完整的 Html 以发送到浏览器?它不应该首先包含母版页吗?
我的项目文件中有以下文件。
我正在检查页面生命周期中的Render
事件。Render
事件正在按以下顺序执行。
显然,它是预定义的。
问题是,为什么是内容页,然后是母版页,最后是用户控制?
我的意思是如何合并完整的 Html 以发送到浏览器?它不应该首先包含母版页吗?
渲染不是一个事件。它是一种调用方法来生成要发送给客户端的输出。
渲染渲染它自己和它的孩子。
顺序为 Render RenderChildren
从ASP.NET 页面生命周期中可以清楚地看到。
在您的控件层次结构中,页面是父级。MasterPage 是 Page 控件的子控件。根据您放置用户控件的位置,它将是 Page 或 MasterPage 的子级。
如果创建自定义控件,通常会覆盖此方法以输出控件的标记
每个控件HtmlTextWriter
从其父控件接收 a 并将其输出写入此编写器。客户端收到的最终输出是控件写入的输出及其所有子级写入器。
由于页面必须启动此过程,因此必须首先调用其 Render。