ASP.NET Web Pages 布局

2022-09-17 17:59 更新
本節(jié)介紹使用 ASP.NET Web Pages 來實現(xiàn)風格統(tǒng)一的頁面布局。

通過 Web Pages ,創(chuàng)建一個布局一致的網(wǎng)站是很容易的事。


一致的外觀

在因特網(wǎng)上,您會發(fā)現(xiàn)很多網(wǎng)站都具有一致的外觀和風格:

  • 每個頁面有相同的頭部
  • 每個頁面有相同的底部
  • 每個頁面有相同的樣式和布局

通過 Web Pages ,您能非常高效地做到這點。您可以把重復(fù)使用的內(nèi)容塊(比如頁面頭部和底部)寫在一個單獨的文件中。

您還可以使用布局模板(布局文件)為站點的所有網(wǎng)頁定義一致的布局。


Content Blocks(內(nèi)容塊)

許多網(wǎng)站都有一些內(nèi)容是被顯示在站點的每個頁面中(比如頁面頭部和底部)。

通過 Web Pages,您可以使用 @RenderPage() 方法從不同的文件導(dǎo)入內(nèi)容。

內(nèi)容塊(來自另一個文件)能被導(dǎo)入網(wǎng)頁中的任何地方。內(nèi)容塊可以包含文本,標記和代碼,就像任何普通的網(wǎng)頁一樣。

將共同的頭部和底部寫成單獨的文件,這樣會幫您節(jié)省大量的工作。您不必在每個頁面中書寫相同的內(nèi)容,當內(nèi)容有變動時,您只要修改頭部或者底部文件,就可以看到站點中的每個頁面的相應(yīng)內(nèi)容都已更新。

以下顯示了它在代碼中是如何呈現(xiàn)的:

實例

<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>



Layout Page(布局頁)

在上一部分,您看到了,想在多個網(wǎng)頁中顯示相同內(nèi)容是非常容易的。

另一種創(chuàng)建一致外觀的方法是使用布局頁。一個布局頁包含了網(wǎng)頁的結(jié)構(gòu),而不是內(nèi)容。當一個網(wǎng)頁(內(nèi)容頁)鏈接到布局頁,它會根據(jù)布局頁(模板)的結(jié)構(gòu)進行顯示。

布局頁中使用 @RenderBody() 方法嵌入內(nèi)容頁,除此之外,它與一個正常的網(wǎng)頁沒有什么差別。

每個內(nèi)容頁都必須以布局指令開始。

以下顯示了它在代碼中是如何呈現(xiàn)的:

布局頁:

<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>? 2012 W3CSchool. All rights reserved.</p>
</body>
</html>

任何網(wǎng)頁:

@{Layout="Layout.cshtml";}

<h1>Welcome to w3cschool.cn</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>


D.R.Y. - Don't Repeat Yourself(不要自我重復(fù))

通過 Content Blocks(內(nèi)容塊)和 Layout Pages(布局頁)這兩個 ASP.NET 工具,您可以讓您的 Web 應(yīng)用程序顯示一致的外觀。

這兩個工具能幫您節(jié)省大量的工作,您不必再每個頁面上重復(fù)相同的信息。集中的標記、樣式和代碼讓您的 Web 應(yīng)用程序更易于管理,更易于維護。


防止文件被瀏覽

在 ASP.NET 中,文件的名稱以下劃線開頭,可以防止這些文件在網(wǎng)上被瀏覽。

如果您不想讓您的內(nèi)容塊或者布局頁被您的用戶看到,可以重命名這些文件:

_header.cshtm

_footer.cshtml

_Layout.cshtml


隱藏敏感信息

在 ASP.NET 中,隱藏敏感信息(數(shù)據(jù)庫密碼、電子郵件密碼等等)最通用的方法是將這些信息保存在一個名為"_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";
}

以上就是有關(guān) ASP.NET Web Pages 布局內(nèi)容,如果想要更加便捷的統(tǒng)一網(wǎng)頁布局的話,你可以試一試 ASP.NET Web Pages 來進行布局。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號