.Net MVC 中_Layout.cshtml頁面新佈局(轉載)
作為一個剛剛開始學習Mvc的新人來說,從之前的winform頁面到現在MVC的轉變,感覺這是華麗麗的轉身啊,再沒有拖拽控制元件,轉而是一種規範的格式,用Model-View-Controller三者把一個系統的構成完美呈現,你可以選擇用其自帶的模版來完成系統的開發,很強大,很方便。
但是對於現在越來越需要關注度的時代來說,漂亮的頁面必不可少,你當然可以自己用html來完成頁面的設計,但是,MVC提供了一套自己的新的LayOut佈局系統,一起來學習一下吧。
首先,瞭解一下其中的幾個常用方法:
@RenderBody()方法:它的作用是渲染整個View到佔位符處。
@RenderPage()方法:渲染指定的頁面到佔位符處.
一、先看看@RenderBody()方法
首先你要找到這個檔案“~/Views/Shared/_Layout.cshtml”,在這個檔案中你可以將其中對應內容改為如下部分(要注意的是在_Layout.cshtml中@RenderBody()只允許使用一次,而@RenderPage()則可以使用多次)
<body>
<div>
Body開始部分<br />
@RenderBody()
Body結束部分<br />
</div>
</body>
然後你要在~/Views/Home/Index.cshtml找到檔案並把內容改為
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@{
ViewBag.Title = "首頁";
}
<div>
驚喜在這裡
</div>
執行後你會發現輸出
Body開始部分
驚喜在這裡
Body結束部分
是不是很神奇啊?
二、看看@RenderPage()方法
其實他的使用更方便,與@RenderBody()類似,只不過他的定向性更強。
舉個例子@RenderPage("~/Views/Home/ViewPage1.cshtml"),你可以直接這樣呼叫頁面。還是舉上面的例子,新增下列程式碼:
<body>
<div>
Body開始部分<br />
@RenderBody()
Body結束部分<br />
開始渲染其他頁<br />
@RenderPage("~/Views/Home/ViewPage1.cshtml")
渲染其他頁結束<br />
</div>
</body>
你可以在"~/Views/Home/ViewPage1.cshtml"頁面中隨便寫點東西,比如:
<div>
你好!
</div>
而神奇的是你不需要在view頁面中編寫任何程式碼,執行後,會輸出:
Body開始部分
驚喜在這裡
Body結束部分
開始渲染其他頁
你好
渲染其他頁結束
是不是很神奇啊!
---------------------
作者:speedwade
來源:CSDN
原文:https://blog.csdn.net/speedwade/article/details/18314851
版權宣告:本文為博主原創文章,轉載請附上博文連結!