原文:http://www.cnblogs.com/highend/archive/2011/04/18/asp_net_mvc3_layout.html
Layout頁:
該家伙其實就相當於原來的Master文件.
Partial頁:
相當於原來的UserControl
View頁:
View Page with Layout:
等同於原來的View Content Page.它的功能只是為了實現原來在Layout/MasterPage下所定義的占位符.當然在原來的MasterPage中如果你沒有實現原先定義 的占位符<asp:ContentPlaceHolder />,那么在最終合並輸出的時候MasterPage占位符<asp:ContentPlaceHolder />那里就會輸出空.
1.Layout頁基礎:
@RenderBody():直接渲染整個View到占位符處,而不需要原來所使用的<asp:Content />
使用:在~/Views/Shared/的LayoutPage文件
<!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> </head> <body> <div> 開始渲染Body<br /> @RenderBody() 渲染Body結束<br /> </div> </body> </html>
在~/Views/Home/Index.cshtml文件
@{ ViewBag.Title = "首頁"; } <div> 這里就是渲染Body啦.其實因為RenderBody()不在有歧義. </div>
注意:默認路由配置(Global.asax)、項目的屬性-web-啟動操作(一般設置為當前頁面)
Layout:
@RenderSection("SectionJS", false)
view:
@Render SectionJS{
內容
}
注:RenderSection可以很好的運用到css和js腳本上