本篇內(nèi)容介紹了“如何使用ASP.NET MVC3模板頁”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
新建一個(gè)MVC3項(xiàng)目,在解決方案資源管理中,我們可以看到VIEWS文件夾下面有一個(gè)Shared文件夾。在Shared文件夾里面有一個(gè)_Layout.cshtml頁面。這個(gè)就是項(xiàng)目中默認(rèn)的模板頁面。如下圖所示 :
1.新建內(nèi)容頁
內(nèi)容頁在MVC3中也叫做視圖布局頁,可以右鍵選中視圖文件夾,通過添加視圖來添加內(nèi)容頁,然后選擇相應(yīng)的模板。下面就是我們創(chuàng)建的內(nèi)容頁ViewPageOne.cshtml
使用模板頁的頁面,會(huì)自動(dòng)在頁面中生成代碼。來指定模板頁,使用Layout來指定具體的模板頁。如果內(nèi)容頁中沒有Layout屬性,則使用的是默認(rèn)的模板頁
@{ ViewBag.Title = "ViewPageOne"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h3>ViewPageOne</h3>
如果Layout指定為null,則表示不使用模板頁
@{ ViewBag.Title = "ViewPageOne"; Layout = null; }
2.新建模板頁
右鍵選擇Shared文件,然后在菜單中選擇添加 新建項(xiàng),彈出添加新項(xiàng)對話框,然后選擇MVC3布局頁,這樣就添加完成了布局頁,下面的我們添加的布局頁_LayoutPageOne.cshtml
3.為某個(gè)文件單獨(dú)指定模板頁
假如某個(gè)頁面不想使用默認(rèn)的模板頁,可以單獨(dú)為其指定模板頁,下面的代碼把內(nèi)容頁的模板頁指定為剛創(chuàng)建的模板頁_LayoutPageOne.cshtml
@{ ViewBag.Title = "ViewPageOne"; Layout="~/Views/Shared/_LayoutPageOne.cshtml"; } <h3>ViewPageOne</h3>
4.為某個(gè)視圖文件夾指定模板頁
假如想讓一個(gè)Controller下面的所有視圖使用同一個(gè)模板文件,可以在該Controller對應(yīng)的試圖文件夾下面創(chuàng)建一個(gè)_ViewStart.cshtml文件,然后在_ViewStart.cshtml里面指定所使用的模板頁
@{ Layout = "~/Views/Shared/_LayoutPageOne.cshtml"; }
這樣就可以把一個(gè)controller下面的視圖指定為使用一個(gè)模板文件
5.頁面不使用模板頁
如果一個(gè)內(nèi)容頁面不想使用模板頁,可以把_Layout設(shè)置為null
也可以在添加視圖頁面的時(shí)候不選擇模板。
6.@RenderBody()
@RenderBody()在模板頁中使用表示內(nèi)容頁在模板中的位置。當(dāng)創(chuàng)建具有模板頁的內(nèi)容頁的時(shí)候,內(nèi)容頁就呈現(xiàn)在模板頁中@RenderBody()所在的位置,一個(gè)模板頁中只能有一個(gè)@RenderBody().
7.@RenderSection
@RenderSection用于在模板布局中定義一個(gè)區(qū)域,在內(nèi)容頁可以定義一些內(nèi)容來填充這個(gè)區(qū)域,例如內(nèi)容頁中引用的JS文件,可以填充到模板頁的section位置。每個(gè)內(nèi)容頁的單獨(dú)一些信息,可以在模板頁中這個(gè)區(qū)域顯示。
@RenderSection有兩個(gè)參數(shù),第一個(gè)參數(shù)用于定義section的名稱,第2個(gè)參數(shù)是布爾類型,如果為TRUE,表示內(nèi)容頁必須定義這個(gè)section,如果為false,則表示內(nèi)容頁可定義section,也可以不定義。
模板頁:
<!DOCTYPE html> <html> <head> <title>歡迎 @ViewBag.Title</title> </head> <body> <p>第2個(gè)模板頁</p> <div> @RenderBody() </div> <div> 備注: @RenderSection("Remark", false); </div> </body> </html>
內(nèi)容頁:
@{ ViewBag.Title = "主頁"; } <h3>@ViewBag.Message</h3> <p> 若要了解有關(guān) ASP.NET MVC 的更多信息,請?jiān)L問 <a href="http://asp.net/mvc" title="ASP.NET MVC 網(wǎng)站">http://asp.net/mvc</a>。 </p> @section Remark { 我是主頁 } <p>歡迎</p>
8.@RenderPage
@RenderPage用于表示在一個(gè)頁面中呈現(xiàn)另一個(gè)頁面的內(nèi)容.參數(shù)指定要呈現(xiàn)的網(wǎng)頁的位置。
我們在Shared文件夾下面新建一個(gè)footer.cshtml文件,然后里面寫上版權(quán)信息,然后在模板頁中開辟一塊位置用來呈現(xiàn)footer頁面。
<!DOCTYPE html> <html> <head> <title>歡迎 @ViewBag.Title</title> </head> <body> <p>第2個(gè)模板頁</p> <div> @RenderBody() </div> <div> 備注: @RenderSection("Remark", false); </div> <footer> @RenderPage("~/Views/Shared/footer.cshtml") </footer> </body> </html>
9.@Html.Partial()與Html.RenderPartial()
.@Html.Partial()與Html.RenderPartial()這兩個(gè)方法可以用來輸出一個(gè)分部頁,右鍵添加新建項(xiàng),選擇MVC3分部頁,就可以添加一個(gè)分部頁,相當(dāng)于一個(gè)用戶控件,
這時(shí)候就可以使用者兩個(gè)方法來輸出分部頁的內(nèi)容,當(dāng)然,這兩個(gè)方法也可以直接輸出視圖頁和內(nèi)容頁。
@Html.Partial()的參數(shù)為用戶控件名稱,也就是分部頁名稱,返回值為string類型,可以直接輸出。
@Html.RenderPartial()的參數(shù)也為用戶控件名稱,返回值為VOID,調(diào)用的時(shí)候直接把內(nèi)容輸出到Response中。
用法如下:
<div id="logindisplay"> @Html.Partial("_PartialLogin") @{ Html.RenderPartial("_PartialLogin"); } </div>
“如何使用ASP.NET MVC3模板頁”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
文章題目:如何使用ASP.NETMVC3模板頁-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article8/dosiop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站策劃、定制開發(fā)、企業(yè)建站、網(wǎng)站營銷、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容