ASP.NET中最基本的对象是页面.您可以直接访问页面对象的属性,而无需任何限定对象.在前面的章节中,我们使用了一些页面对象的属性和方法,如Layout,RenderPage和RenderBody. WebPageBase类是表示ASP.NET Razor页面的类的基类.
以下是Page Object的一些最常用的属性.
S .No | Property & Description |
---|---|
1 | IsPost 如果客户端使用的HTTP数据传输方法是POST请求,则返回true. |
2 | Layout 获取或设置布局的路径页. |
3 | Output 获取页面的当前TextWriter对象. |
4 | Page 提供对页面之间共享数据的类似属性的访问权限布局页面 |
5 | Request 获取当前HTTP请求的HttpRequest对象. |
6 | Server 获取提供网页处理的HttpServerUtility对象方法. |
以下是Page Ob最常用的一些方法ject.
S.No | 方法&说明 |
---|---|
1 | ConfigurePage 在派生类中重写时,根据父网页的配置配置当前网页. |
2 | DefineSection 按内容调用用于创建命名内容部分的页面. |
3 | ExecutePageHierarchy() 在一组相关网页中执行代码. |
4 | GetOutputWriter 返回用于呈现页面的文本编写器实例. |
5 | href 使用指定的参数构建URL |
6 | InitializePage 初始化当前页面. |
7 | IsSectionDefin ed 返回一个值,指示是否在页面中定义了指定的部分. |
8 | PopContext 返回并删除上下文从OutputStack实例的顶部开始. |
9 | PushContext 在OutputStack实例的顶部插入指定的上下文. |
10 | RenderBody() 呈现内容页面中不在命名区域内的部分(在布局页面中) |
11 | RenderPage(page) 在一个页面内呈现内容另一页 |
12 | RenderSection (section) 呈现命名部分的内容(在布局页面中) |
13 | Write(object) 将对象写为HTML编码的字符串 |
14 | WriteLiteral 写一个没有HTML的对象 - 首先对它进行编码. |
让我们看一下Page Object的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.让我们再次运行你的应用程序,你会看到以下输出.