<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>@ViewBag.Title - My ASP.NET MVC Application</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width" /> <script src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js" type="text/javascript" ></script> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body onload='prettyPrint()'> <header> <div class="content-wrapper"> <div id="head"> <div class="float-right"> <section id="login"> @Html.Partial("_LoginPartial") </section> </div> </div> <div id="menu_top"> <nav> <ul id="menu"> <li>@Html.ActionLink("Strona główna", "Index", "Home")</li> <li>@Html.ActionLink("O nas", "ONas", "HomeTabs")</li> <li>@Html.ActionLink("Kontakt", "Kontakt", "HomeTabs")</li> <li>@Html.ActionLink("Współpraca", "Wspolpraca", "HomeTabs")</li> </ul> </nav> </div> </div> </header> <div id="body"> @RenderSection("featured", required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div> <footer> <div class="content-wrapper"> <p>@DateTime.Now.Year - kurs.aspnetmvc.pl</p> </div> </footer> @Scripts.Render("~/bundles/jquery") @RenderSection("scripts", required: false) </body> </html>Treść strony WWW jest umieszczona w sekcji RenderBody() i jest to jedyna wymagana sekcja. Bez tej części kodu nie było by wiadome, w którym miejscu ma znajdować się główna, zmieniająca się część strony. W poniższym kodzie znajduje się również druga, nie wymagana (required: false) sekcja o nazwie "featured".
<div id="body"> @RenderSection("featured", required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div>Aby sekcja o nazwie featured znalazła się na stronie musimy w pliku z widokiem dodać sekcje o tej samej nazwie, a w niej kod, który ma się znaleźć we wcześniej wybranym miejscu (w pliku _Layout.cshtml):
@section featured { <section class="featured"> <div class="content-wrapper"> <hgroup class="title"> <h1>@ViewBag.Title.</h1> <h2>@ViewBag.Message< </hgroup> <p> Miło nam jest poinformować o powstaniu portalu. </p> </div> </section> }
<div id="body"> <section class="content-wrapper main-content clear-fix"> </section> </div>
<div id="body"> <section class="featured"> <div class="content-wrapper"> <hgroup class="title"> <h1>Microsoft C# i ASP.NET MVC 4.</h1> <h2>ASP.net MVC 4</h2> </hgroup> <p> Miło nam jest poinformować o powstaniu portalu. </p> </div> </section> <section class="content-wrapper main-content clear-fix"> </section> </div>
@Scripts.Render("~/bundles/jquery")Sekcje są pomocne dla tych części podstron, które mogą wyglądać różnie w zależności od podstrony a nie znajdują się w miejscu gdzie jest ładowana treść strony(np. reklamy dostosowane do treści na podstronach). Aby nie musieć dodawać tego samego diva do wszystkich sekcji możemy skorzystać z następującego rozwiązania:
@if(IsSectionDefined("featured")){ <div id="jakas_kalsa"> @RenderSection("featured", required: false) </div> }