与网页很容易地创建一个网站具有一致的布局。
外观的一致性
在互联网上,你会发现有一个一致的外观和感觉,许多网站:
- 每一页都有相同的标题
- 每一页都具有相同的页脚
- 每一页都具有相同的样式和布局
与网页这样可以非常有效地进行。 你可以有内容可重复使用的块(content blocks) ,喜欢的页眉和页脚,在不同的文件。
您也可以定义为所有网页一致的布局,使用布局模板(layout file) 。
内容块
许多网站有一个在每个页面上显示的内容(like headers and footers) 。
与网页,你可以使用@ RenderPage()方法来从不同的文件中导入内容。
内容块(from another file)可以在任何地方在网页中导入,可以包含文本,标记和代码,就像任何普通的网页。
使用普通的页眉和页脚作为一个例子,这为您节省了大量的工作。 你不必写在每一页的内容相同,当您更改页眉或页脚文件,内容是所有网页更新。
这是它的外观的代码:
例
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
运行示例» 使用布局页
在上一节,你看到了,包括许多网页相同的内容很容易。
创建一致的外观另一种方法是使用一个页面布局。 布局页包含的结构,而不是内容的网页。 当一个网页(content page)链接到页面布局,它会根据页面布局显示(template) 。
布局页面就像一个正常的网页,除了来自于呼叫@ RenderBody()在内容页面将包含方法。
每个内容页必须有一个布局指令启动。
这是它的外观的代码:
布局页:
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2014 w3ii. All rights reserved.</p>
</body>
</html>
任何网页:
@{Layout="Layout.cshtml";}
<h1>Welcome to w3ii</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 laborisnisi ut aliquip ex ea commodo consequat.
</p>
运行示例» DRY - 不要重复自己
有两个ASP.NET工具,内容块和布局页,你可以给你的web应用程序外观的一致性。
这些工具还为您节省了大量的工作,因为你没有重复的所有网页上相同的信息。 集中化的标记,样式和代码使Web应用程序更易于管理,更容易维护。
从正在浏览的文件预防
在ASP.NET,与以下划线开头的名称的文件无法从网络浏览。
如果你想阻止你的内容块或布局文件从您的用户正在观看的文件重命名为:
_header.cshtml
_footer.cshtml
_Layout.cshtml
隐藏敏感信息
在ASP.NET,隐藏敏感信息(数据库密码,电子邮件密码等)的常用方法是保持在一个单独的名为文件中的信息"_AppStart" 。
_AppStart.cshtml
@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}