通過 Web Pages,很容易創(chuàng)建布局一致的網(wǎng)站。
在因特網(wǎng)上,您會(huì)發(fā)現(xiàn)很多擁有統(tǒng)一外觀的網(wǎng)站:
通過 Web Pages,可以高效地實(shí)現(xiàn)這些。您可以得到可重復(fù)使用的代碼塊(內(nèi)容塊),比如頁眉和頁腳,在獨(dú)立的文件中。
您也可以為所有頁面定義一致的布局,使用布局模板(布局文件)。
很多網(wǎng)站都有需要在每張頁面上顯示的內(nèi)容(比如頁眉和頁腳)。
通過 Web Pages,您可以使用 @RenderPage() 方法從不同的文件導(dǎo)入內(nèi)容。
內(nèi)容塊(來自另一個(gè)文件)能夠被輸入網(wǎng)頁中的任意位置,并可包含文本、標(biāo)記和代碼,就像任何常規(guī)的網(wǎng)頁那樣。
使用通用的頁眉和頁腳,會(huì)省去大量的工作。您不必在每頁中編寫相同的內(nèi)容,并且當(dāng)您改變頁眉或頁腳文件時(shí),內(nèi)容會(huì)在所有頁面中更新。
在代碼中是這樣的:
@RenderPage("header.cshtml")Hello Web Pages
This is a paragraph
@RenderPage("footer.cshtml")
運(yùn)行實(shí)例
在之前的內(nèi)容中,您已看到在多個(gè)網(wǎng)頁中引用相同的內(nèi)容是很簡單的。
創(chuàng)建一致外觀的另一種方法是使用布局網(wǎng)頁。布局網(wǎng)頁包含網(wǎng)頁的結(jié)構(gòu),而不是內(nèi)容。當(dāng)網(wǎng)頁(內(nèi)容頁)鏈接到布局頁時(shí),它會(huì)根據(jù)布局頁(模板)來顯示。
布局頁類似普通的網(wǎng)頁,但是會(huì)在引用內(nèi)容頁的位置調(diào)用 @RenderBody() 方法。
每個(gè)內(nèi)容頁必須以 Layout 指令開頭。
在代碼中是這樣的:
This is header text
@RenderBody()© 2012 W3School. All rights reserved.
@{Layout="Layout.cshtml";}Welcome to W3Schools
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.
運(yùn)行實(shí)例
通過兩個(gè) ASP.NET 工具,內(nèi)容塊和布局頁,您能夠?yàn)?web 應(yīng)用程序設(shè)定一致的外觀。
這些工具會(huì)為您省去大量的工作,因?yàn)槟槐卦谒许撁嫔现貜?fù)相同的信息。將標(biāo)記、樣式和代碼集中起來,使得 web 應(yīng)用程序更便于管理和維護(hù)。
在 ASP.NET 中,名稱以下劃線開頭的文件無法通過 web 來瀏覽。
如果您希望禁止用戶查看內(nèi)容塊或布局文件,請(qǐng)對(duì)文件重新命名:
在 ASP.NET 中,隱藏敏感信息(數(shù)據(jù)庫密碼、電郵密碼等)的常用方法是把這些信息保存在名為 "_AppStart" 的獨(dú)立文件中。
@{ WebMail.SmtpServer = "mailserver.example.com"; WebMail.EnableSsl = true; WebMail.UserName = "username@example.com"; WebMail.Password = "your-password"; WebMail.From = "your-name-here@example.com"; }
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書籍 |