ASP.NET Web Pages - 全局页面
本章介绍 AppStart 和 PageStart 全局页面。
网站启动前:_AppStart
大多数服务器端代码都写在单独的网页中。例如,如果一个网页包含一个输入表单,该网页通常会包含用于读取数据的服务器代码。
然而,通过在网站根目录下创建一个名为 _AppStart 的页面,您可以编写在网站启动前执行的启动代码。如果此页面存在,ASP.NET 将在用户首次请求网站中的任何页面时运行它。
_AppStart 的典型用途是执行启动代码和初始化全局值,例如计数器和全局名称。
注意 1:_AppStart 应与您的网页具有相同的文件扩展名,例如:_AppStart.cshtml.
注意 2:_AppStart 前缀带有一个下划线。因此,这些文件不能直接浏览。
每个页面前:_PageStart
就像 _AppStart 在网站启动前运行一样,您可以编写在每个文件夹中的任何页面运行前执行的代码。
对于您网站的每个文件夹,都可以添加一个名为 _PageStart 的文件。
_PageStart 的典型用途是为文件夹中的所有页面设置布局页面,或在运行页面之前检查用户是否已登录。
它是如何工作的?
以下图表显示了其工作原理
当收到请求时,ASP.NET 会检查 _AppStart 是否存在。如果存在,并且这是网站的第一次请求,则 _AppStart 会运行。
然后,ASP.NET 会检查 _PageStart 是否存在。如果存在,则 _PageStart 会在请求的页面之前运行。
如果您在 _PageStart 中包含对 RunPage() 的调用,则指定请求的页面在哪里运行。如果不是,则 _PageStart 在请求的页面之前运行。