有人能解释ASP.NET网页的生命周期吗?(Razor语法)

有人能解释ASP.NET网页的生命周期吗?(Razor语法),razor,asp.net-webpages,Razor,Asp.net Webpages,我想知道使用razor语法的ASP.NET网页的生命周期 从有关ASP.NET MVC控制器在堆栈溢出上的生命周期的问题中,答案表明其解释如下: . 所以我不是在问同样的问题 对于纯ASP.NET网页项目(而不是MVC),我想知道浏览器请求.CSHTML文件时发生的事件顺序。在网页项目中,当向应用程序发出第一个请求时,从System.Web.WebPages.WebPages继承的C#类从Razor文件生成。该类有一个方法:Execute,它包含服务器端代码和许多输出HTML的writelera

我想知道使用razor语法的ASP.NET网页的生命周期

从有关ASP.NET MVC控制器在堆栈溢出上的生命周期的问题中,答案表明其解释如下: . 所以我不是在问同样的问题

对于纯ASP.NET网页项目(而不是MVC),我想知道浏览器请求.CSHTML文件时发生的事件顺序。

在网页项目中,当向应用程序发出第一个请求时,从
System.Web.WebPages.WebPages继承的C#类从Razor文件生成。该类有一个方法:Execute,它包含服务器端代码和许多输出HTML的writeleral调用。每个类都以原始.cshtml文件命名,例如
Default.cshtml

public class _Page_Default_cshtml : WebPage
这些类被编译成dll。请求被路由到相应的类


Web页面不像Web表单那样是一种事件驱动的开发模型,因此没有特定的事件可以像PreRender或Page_Load等那样连接。

您所问的没有意义,页面生命周期适用于aspx Web表单(非MVC)应用程序。我很确定你不能在MVC之外使用razor,它没有你所说的“生命周期”。对于asp.net(aspx)生命周期,请尝试此链接@razor最初是为asp.net网页框架开发的:。它后来被MVC团队作为一个新的视图引擎借用了。@MikeBrind我不知道,但在ASP.NET网页上查看该页面看起来像是一个没有microsoft MVC内容的MVC模式。@网页中没有MVC模式的暗示。它采用了一种以页面为中心的方法,比如经典的ASP或PHP。如果有更多关于这方面的详细信息,请提供指向任何链接的指针。谢谢你的评论。你在寻找什么样的详细信息?我猜这可能是个坏主意(TM),但是(跳过控制器并)覆盖WebPage.ExecutePageHierarchy,将预渲染代码放在那里(使用你自己的动态视图包),然后调用base.ExecutePageHierarchy怎么样?