码迷,mamicode.com
首页 > Web开发 > 详细

ASP.Net随笔:webpage布局

时间:2017-01-29 21:31:37      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:模板   而不是   下划线   pre   doctype   代码   内容   cti   str   

 

通过 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中以下划线开头的文件不能被浏览器访问,这样可以保护数据。

 

ASP.Net随笔:webpage布局

标签:模板   而不是   下划线   pre   doctype   代码   内容   cti   str   

原文地址:http://www.cnblogs.com/wwbweibo/p/6357685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!