- ASP.NET WP 教程
- ASP.NET WP - 主页
- ASP.NET WP - 概述
- ASP.NET WP - 环境设置
- ASP.NET WP - 入门
- ASP.NET WP - 视图引擎
- 项目文件夹结构
- ASP.NET WP - 全局页面
- ASP.NET WP - 编程概念
- ASP.NET WP - 布局
- ASP.NET WP - 使用表单
- ASP.NET WP - 页面对象模型
- ASP.NET WP - 数据库
- ASP.NET WP - 将数据添加到数据库
- ASP.NET WP - 编辑数据库数据
- ASP.NET WP - 删除数据库数据
- ASP.NET WP - WebGrid
- ASP.NET WP - 图表
- ASP.NET WP - 处理文件
- ASP.NET WP - 处理图像
- ASP.NET WP - 处理视频
- ASP.NET WP - 添加电子邮件
- ASP.NET WP - 添加搜索
- 将社交网络添加到网站
- ASP.NET WP - 缓存
- ASP.NET WP - 安全
- ASP.NET WP - 发布
- ASP.NET WP 有用资源
- ASP.NET WP - 快速指南
- ASP.NET WP - 有用的资源
- 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) }; }
正如您所看到的,当您运行此应用程序时,三个页面的内容 -博客、推特和照片将在导航栏中显示为选项卡,如下面的屏幕截图所示。
_PageStart
与在站点启动之前运行的 _AppStart 类似,您也可以编写在任何其他页面之前运行的代码。对于网站中的每个文件夹,您可以添加一个名为 _PageStart 的文件。
每次请求同一或较低级别文件夹中的页面时,都会执行 _PageStart.cshtml。
它是执行每个请求处理的地方,例如设置布局页面。
工作流程
当收到页面请求时,如果这是站点中任何页面的第一个请求,则 ASP.NET 首先检查 _AppStart.cshtml 页面是否存在。如果 _AppStart.cshtml 页面存在,则首先运行 _AppStart.cshtml 页面中的任何代码,然后运行请求的页面。
当收到页面请求时,ASP.NET 首先检查是否存在 _PageStart.cshtml 页面,如果存在,则运行该页面,然后运行所请求的页面。