1. 程式人生 > >.Net MVC 中_Layout.cshtml頁面新佈局(轉載)

.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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!