对于熟悉 Active Server Pages (ASP) 的开发人员,ASP.NET 页框架模型向他们展现了一些新的内容。ASP 模型是通过脚本代码扩展的 HTML 模型。ASP 页由脚本代码(如 ECMAScript (JScript, JavaScript) 或 VBScript)组成,脚本代码与静态 HTML 共同位于同一文件中。ASP 分析器读取该页,对其进行解释,并仅运行脚本代码来获取输出结果。在将输出发送回浏览器或客户端设备之前,ASP 会合并脚本代码的输出和在该页中发现的静态 HTML 输出。
在 ASP.NET Page 类模型中,整个 Web 窗体页实际上是一个可执行程序,该程序生成将被发送回浏览器或客户端设备的输出。在此模型中,该页会像其他组件一样经历一系列处理阶段:初始化、处理和处置,但有两处不同:
每次调用该页时,页类都会执行这些步骤。每当发生到服务器的往返行程时,都会对该页进行初始化、处理和处置。
页类有一个唯一的阶段:呈现。呈现在页生命周期结束发生,输出将在此阶段生成。
注意 为了提高效率,可能会缓存重新创建页所必需的信息,但此操作独立于页的生命周期。
从页类派生
当系统为 Web 窗体页创建页和类文件时,它将生成从基 Page 类继承的代码。例如,如果创建新的 Web 窗体页并将其命名为 WebPage1,则会从 System.Web.UI.Page 派生一个名为 WebPage1 的新类。
单文件 Web 窗体页
除了由 .aspx 文件和单独的类文件组成的页之外,ASP.NET 结构还支持“单文件”模型,在此模型中,UI 元素和代码位于同一文件中。单文件 Web 窗体页在功能上与由两个文件组成的页非常类似。例如,在两种类型的页上使用的是相同的控件。用户仍使用相同的文件扩展名 .aspx 来请求页,页仍使用服务器端代码来运行,并且页会以流的形式将 HTML 发送到客户端。单文件页具有易于部署的优点。