通过 Web Pages,可以高效地实现:
- 每页拥有相同的页眉
- 每页拥有相同的页脚
- 每页拥有相同的样式和布局
使用内容块
通过WebPage,可以使用@RenderPage()方法从不同的文件中导入内容。
HtmlPage.cshtml文件 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> </head> <body> <h1>HtmlPage.cshtml文件</h1> </body> </html> WebPage.cshtml文件 <!DOCTYPE html> <html> <head> <title></title> </head> <body> @RenderPage("HtmlPage.cshtml") </body> </html>
使用页面布局
布局网页包含网页的结构,而不是内容。当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示。
布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法,标题可以使用@Page.Title。
每个内容页必须以 Layout 指令开头,使用Page.Title指定页面的标题。
布局页 <!DOCTYPE html> <html> <head> <title>@Page.Title</title> @RenderSection("head", required: false) </head> <body> @RenderBody() <p>_Layout.cshtml</p> </body> </html> 内容页 @{ Page.Title = "页面布局"; Layout = "_Layout.cshtml"; } <div> <h1>ContentPage.cshtml</h1> </div>
运行效果:
PS:
可以在示例代码中看到布局页的文件名的命名为_Layout.cshtml。
其实在ASP.Net中以下划线开头的文件不能被浏览器访问,这样可以保护数据。
时间: 2024-10-22 18:02:32