ASP.NET 网页 - 全球页面


本章介绍全局页面 AppStart 和 PageStart。


网络启动之前:_AppStart

大多数服务器端代码都编写在单独的网页内。例如,如果网页包含输入表单,则该网页通常包含用于读取数据的服务器代码。

但是,通过在站点的根目录中创建名为 _AppStart 的页面,您可以在站点启动之前执行启动代码。如果此页面存在,则 ASP.NET 会在第一次请求站点中的任何页面时运行它。

_AppStart 的典型用途是启动代码和全局值(例如计数器和全局名称)的初始化。

注1:_AppStart 应具有与网页相同的文件扩展名,例如:_AppStart.cshtml。

笔记2:_AppStart 有一个下划线前缀。因此,无法直接浏览这些文件。


每页之前:_PageStart

就像 _AppStart 在站点启动之前运行一样,您可以编写在每个文件夹中的任何页面之前运行的代码。

对于网站中的每个文件夹,您可以添加一个名为 _PageStart 的文件。

_PageStart 的典型用途是设置文件夹中所有页面的布局页面,或在运行页面之前检查用户是否已登录。


它是如何工作的?

下图显示了它的工作原理:

PageStart

当请求到来时,ASP.NET 检查 _AppStart 是否存在。如果是这样,并且这是对该站点的第一个请求,则 _AppStart 运行。

然后 ASP.NET 检查 _PageStart 是否存在。如果是这样,_PageStart 将在请求的页面之前运行。

如果在 _PageStart 中包含对 RunPage() 的调用,则可以指定希望请求的页面运行的位置。如果没有,_PageStart 将在请求的页面之前运行。