ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

Asp.Net MVC 3 Razor Layout (Master Page)

Veysel Uğur KIZMAZ
MVC
13.08.2011 17:13:46
Hit : 4174

Bir önceki makalemizde ASP.NET MVC3’te Razor View Engine’ine giriş yapmıştık. Şimdi Razor’da MasterPage nasıl oluşturuluyor ve kullanılıyor inceleyelim.

ASP.NET MVC 3 Web Application - Internet Application oluşturduğumuzda Views/_ViewStart.cshtml dosyasını incelediğimizde Layout isminde bir  özellikle karşılaşacağız. Bu dosya, MasterPage’imizi (MVC 3’teki yeni ismiyle layout’u) belirleyen özelliktir. Eğer burada Layout’u belirlersek tüm projeyi etkileyecektir. Şimdi _ViewStart.cshtml’in koduna göz atalım.

_ViewStart.cshtml

@{

    Layout = "~/Views/Shared/_Layout.cshtml";

}

 

 

Home/Index.cshtml dosyamız üzerinde örneğimizi inceleyelim. Bu dosyadaki kodları şu şekilde düzenleyelim:

Index.cshtml

@{

    ViewBag.Title = "Home Page";

}

 

 

Şimdi projemizi çalıştıralım ve ekranda nasıl bir görünüm alacağız inceleyelim.

Asp_Net_MVC_Razor_MasterPage_1_1.JPG

Layout (MasterPage) olarak Views/Shared/_Layout.cshtml sayfasını aldık. Şimdi projenin genel Layout yapısını( yani _ViewStart.cshtml’i) değişitirmeden sadece Index.cshtml’in layout’unu değiştirelim. Bunun için öncelikle yeni bir Layout oluşturalım. Views/Shared/_Tema.cshtml isminde bir cshtml dosyası oluşturalım ve aşağıdaki gibi düzenleyelim.

 

Views/Shared/_Tema.cshtml

@{

    ViewBag.Title = "Başlık";

}

 

<h2>_Tema</h2>

<table>

    <tr style="background-color:Red">

        <td> Veysel Ugur KIZMAZ<br /><br /></td>

    </tr>

    <tr style="background-color:Yellow">

        <td>@RenderBody()</td>

    </tr>

</table>

 

 

 

Burada dikkat etmemiz gereken en önemli nokta @RenderBody() methodudur. Bu method, ASPX View Engine’inde ContentPlaceHolder yerine geçmektedir.

Şimdi Index.cshtml’in Layout’unu _Tema.cshtml yapalım.

Index.cshtml

 

Şimdi projemizi çalıştıralım. 

Home/Index linkine gittiğimizde tasarımın değiştiğini görebilmekteyiz.

Şimdi tüm projenin layout’unu _Tema.cshtml yapalım. Bunun için _ViewStart.cshtml dosyamızı şu şekilde değiştiriyoruz.

_ViewStart.cshtml

@{

    Layout = "~/Views/Shared/_Tema.cshtml";

}

 

 Projemizi çalıştırdığımızda hangi sayfaya gidersek gidelim Layout’u _Tema.cshtml olacaktır.

 

 

Veysel Uğur KIZMAZ

Bilgisayar Mühendisi

veysel@ugurkizmaz.com

www.ugurkizmaz.com

 




BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR