- 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 Web Pages的一部分来介绍。
_AppStart
_AppStart.cshtml在应用程序首次启动时执行一次。在网站的根文件夹中,您将看到一个_AppStart.cshtml文件,这是一个用于包含全局设置的特殊文件。
它是Web Pages框架的正式组成部分,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,您还可以编写在任何其他页面之前运行的代码。在您的Web中的每个文件夹中,您都可以添加一个名为_PageStart的文件。
_PageStart.cshtml在每次请求同一文件夹或下级文件夹中的页面时都会执行。
它是执行每个请求处理(例如设置布局页面)的地方。
工作流程
当收到对页面的请求时,如果这是对站点中任何页面的第一个请求,则ASP.NET首先检查是否存在_AppStart.cshtml页面。如果存在_AppStart.cshtml页面,则首先运行_AppStart.cshtml页面中的任何代码,然后运行请求的页面。
当收到对页面的请求时,ASP.NET首先检查是否存在_PageStart.cshtml页面,如果存在,则运行它,然后运行请求的页面。