ASP.NET 网页 - 页面布局
使用 Web Pages,您可以轻松地创建具有一致布局的网站。
一致的外观
在互联网上,您会发现许多网站具有一致的外观和感觉。
- 每页都有相同的页眉
- 每页都有相同的页脚
- 每页都有相同的样式和布局
使用 Web Pages,可以非常高效地实现这一点。您可以将可重用的内容块(内容块)包含在单独的文件中,例如页眉和页脚。
您还可以使用布局模板(布局文件)为所有页面定义一致的布局。
内容块
许多网站都包含在每页上显示的内容(例如页眉和页脚)。
使用 Web Pages,您可以使用 @RenderPage() 方法从单独的文件导入内容。
可以随时将内容块(来自另一个文件)导入到网页中,并且它们可以包含文本、标记和代码,就像任何常规网页一样。
以使用通用页眉和页脚为例,这可以为您节省大量工作。您不必在每个页面中编写相同的内容,并且当您更改页眉或页脚文件时,所有页面中的内容都会更新。
代码显示如下
示例
<html>
<body>
@RenderPage("header.cshtml")
<h1>你好 Web Pages</h1>
<p>这是一个段落</p>
@RenderPage("footer.cshtml")
</body>
</html>
运行示例 »
使用布局页面
在上一个部分中,您已看到将相同内容包含在许多网页中很容易。
创建一致外观的另一种方法是使用布局页面。布局页面包含网页的结构,但不包含其内容。当网页(内容页面)链接到布局页面时,它将根据布局页面(模板)进行显示。
布局页面就像一个普通的网页,但有一个 @RenderBody() 方法调用,用于包含内容页面。
每个内容页面都必须以 Layout 指令开头。
代码显示如下
布局页面
<html>
<body>
<p>这是页眉文本</p>
@RenderBody()
<p>© 2014 W3Schools. 保留所有权利。</p>
</body>
</html>
任何网页
@{Layout="Layout.cshtml";}
<h1>欢迎来到 W3Schools</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
运行示例 »
DRY - 不要重复自己
借助两个 ASP.NET 工具,内容块和布局页面,您可以为您的 Web 应用程序提供一致的外观。
这些工具还可以为您节省大量工作,因为您不必在所有页面上重复相同的信息。集中标记、样式和代码使 Web 应用程序更易于管理和维护。
防止文件被浏览
在 ASP.NET 中,名称以下划线开头的文件的内容无法从 Web 浏览。
如果您想防止用户查看您的内容块或布局文件,请将文件名重命名为
_header.cshtml
_footer.cshtml
_Layout.cshtml
隐藏敏感信息
在 ASP.NET 中,隐藏敏感信息(数据库密码、电子邮件密码等)的常用方法是将信息保存在名为 "_AppStart" 的单独文件中。
_AppStart.cshtml
@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "username@example.com";
WebMail.Password = "your-password";
WebMail.From = "your-name-here@example.com";
}