ASP.NET WP – 全局页面

ASP.NET WP – 全局页面


在本章中,我们将介绍像_AppStart.cshtml_PageStart.cshtml这样的全局页面,它们不常被提及,当它们出现时,它似乎作为 WebMatrix / ASP.Net 网页的一部分被提及。

_AppStart

_AppStart.cshtml 在应用程序第一次启动时执行一次。在您网站的根文件夹中,您将看到一个 _AppStart.cshtml 文件,该文件是用于包含全局设置的特殊文件。

应用启动

  • 它是网页框架的官方部分,而 Razor 视图引擎正是基于该框架。

  • 根文件夹中的 _AppStart 有一个在站点启动之前执行的启动代码。

  • _AppStart 有一个下划线前缀,因此无法直接浏览文件。

  • 如果此页面存在,则 ASP.NET 在请求站点中的任何其他页面之前第一次运行它。

让我们来看看 AppStart.cshtml 文件

@{
   App.CacheDuration = 30; 
   // cache content pages for 30 minutes
   // register for main contents which will appear as tabs on the navigation bar
   App.ContentPages = new[] {
      new ContentSource("Blog", "My Blog", "~/Contents/_Blog.cshtml", false),
      new ContentSource("Twitter", "My Tweets", "~/Contents/_Twitter.cshtml", false),
      new ContentSource("Photos", "My Photos", "~/Contents/_Photos.cshtml", false)
   };
}

如您所见,当您运行此应用程序时,三个页面的内容 –博客、推特和照片将显示为导航栏中的选项卡,如下面的屏幕截图所示。

目录 三页

_页面开始

与在您的站点启动之前运行的 _AppStart 类似,您也可以编写在任何其他页面之前运行的代码。对于 Web 中的每个文件夹,您可以添加一个名为 _PageStart 的文件。

  • _PageStart.cshtml 每次请求相同或较低级别文件夹中的页面时都会执行。

  • 它是执行每个请求处理的地方,例如设置布局页面。

页面开始

工作流程

当一个页面请求进入时,如果这是对站点中任何页面的第一个请求,ASP.NET 首先检查 _AppStart.cshtml 页面是否存在。如果 _AppStart.cshtml 页面存在,则 _AppStart.cshtml 页面中的任何代码首先运行,然后将运行请求的页面。

工作流程

当请求进入页面时,ASP.NET 首先检查是否存在 _PageStart.cshtml 页面,如果有,则运行该页面,然后运行请求的页面。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁