- 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 - 页面对象模型
ASP.NET 中最基本的对象是页面。您可以直接访问页面对象的属性,无需任何限定对象。在前面的章节中,我们使用了页面对象的一些属性和方法,如Layout、RenderPage和RenderBody。WebPageBase 类是表示 ASP.NET Razor 页面的类的基类。
页面对象模型的属性和方法
以下是页面对象的一些最常用的属性。
| 序列号 | 属性及描述 | 
|---|---|
| 1 | 是邮政 如果客户端使用的 HTTP 数据传输方法是 POST 请求,则返回 true。  | 
| 2 | 布局 获取或设置布局页面的路径。  | 
| 3 | 输出 获取页面的当前 TextWriter 对象。  | 
| 4 | 页 提供对页面和布局页面之间共享的数据的类似属性的访问  | 
| 5 | 要求 获取当前 HTTP 请求的 HttpRequest 对象。  | 
| 6 | 服务器 获取提供网页处理方法的HttpServerUtility对象。  | 
以下是页面对象的一些最常用的方法。
| 序列号 | 方法及说明 | 
|---|---|
| 1 | 配置页面 在派生类中重写时,根据父网页的配置配置当前网页。  | 
| 2 | 定义节 由内容页面调用以创建命名内容部分。  | 
| 3 | 执行页面层次结构() 执行一组相关网页中的代码。  | 
| 4 | 获取输出写入器 返回用于呈现页面的文本编写器实例。  | 
| 5 | 链接地址 使用指定参数构建 URL  | 
| 6 | 初始化页面 初始化当前页面。  | 
| 7 | 是否已定义节 返回一个值,该值指示指定的部分是否在页面中定义。  | 
| 8 | 流行语境 返回并从 OutputStack 实例顶部删除上下文。  | 
| 9 | 推送上下文 将指定的上下文插入到 OutputStack 实例的顶部。  | 
| 10 | 渲染主体() 呈现不在指定部分内的内容页面部分(在布局页面中)  | 
| 11 | 渲染页面(页面) 在另一个页面中呈现一个页面的内容  | 
| 12 | 渲染部分(部分) 呈现指定部分的内容(在布局页面中)  | 
| 13 | 写(对象) 将对象写入 HTML 编码的字符串  | 
| 14 | 写文字 写入一个对象,而不先对其进行 HTML 编码。  | 
让我们看一下页面对象的 Page 属性的一个简单示例,它提供了对页面和布局页面之间共享的数据的类似属性的访问。在此示例中,我们将使用Page.Title属性设置页面的标题。
这是MyLayoutPage.cshtml文件的实现,我们在其中设置了页面标题。
@{
   Layout = "~/_Layout.cshtml";
   page.Title = "Layout Page";
}
<h1> H1 Heading from the Layout page </h1>
<p> This is the Main Body part from the Layout page</p>
现在我们需要在_Layout.cshtml页面中指定相同的页面标题,如以下代码所示。
@{ }
<!DOCTYPE html>
<html lang = "en">
   
   <head>
      <title>@Page.Title</title>
      <link href = "@Href("/Styles/Site.css")" rel = "stylesheet" type = "text/css" />
   </head>
   
   <body>
      @RenderPage("/Shared/_Header.cshtml")
      <div id = "main">@RenderBody()</div>
      @RenderPage("/Shared/_Footer.cshtml")
   </body>
</html>
让我们运行应用程序并指定以下 url - http://localhost:46023/MyLayoutPage然后您将看到以下页面。
正如您所看到的,标题现在是我们使用 Page 对象的 Page 属性设置的布局页面。
让我们看一下另一个简单的示例,其中我们将使用 Page 对象的 Request 属性
@{
   Layout = "~/_Layout.cshtml";
   Page.Title = "Layout Page";
   var path = Request.FilePath;
   var pageUrl = this.Request.Url;
}
<h1> H1 Heading from the Layout page </h1>
<p> This is the Main Body part from the Layout page</p>
<a href = "@pageUrl">My page</a>
<p>Page Url: @pageUrl</p>
<p>File Path: @path</p>
您可以使用页面的 Request 对象获取页面的文件路径和 URL。让我们再次运行您的应用程序,您将看到以下输出。
