Önceki Yazı : İlk Asp.Net Mvc Projesinin Oluşturulması (Asp.Net Mvc Yazı Dizisi – 3)
Merhaba Arkadaşlar,
Önceki yazımızda ilk Mvc projemizi oluşturmuş ve klasör yapılarını incelemiştik. Şimdi ise Mvc siteleri hazırlarken kullanabileceğimiz, tasarım ve yerleşim düzenlerini inceleyeceğiz.
Öncelikle önceki yazımızda bahsettiğimiz şekilde yeni bir Mvc projesi açıyoruz. Projemizi açtıktan sonra,




public ActionResult Index kod satırında ki Index'in bu kısım farklı adlar alabilir, ileri ki derslerde anlatılacaktır üzerine fare ile sağ tıkladığımızda açılan menüden Add View'i tıklıyoruz.



Yukarıdaki sayfa açıldı. Sayfada, bordo renkle işaretli alana dikkat edelim. Bu alan menü vb. öğeleri kapsayan alan. Bu alanı muhtemelen tüm sayfalarda kullanacağız. Peki bu kısmı, her sayfada tek tek yeniden yazmak ne kadar mantıklı? Elbette ki mantıklı değil, işte bu noktada devreye Layout sistemi giriyor.
Layout : Sitenin temelini teşkil eden sayfadır. Bu sayfada ki veriler, bu sayfayı baz alan tüm sayfalar da otomatikman yüklenecektir. Böylelikle menü, alt bilgi vb. bilgiler değiştiğinde her sayfada bu işlemi tek tek yapmak zorunda kalmayacağız.
Şimdi Solution Explorer kısmında Views>Shared>Layout.cshtml dosyasını açalım.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Application name", "Index", "Home", null, new { @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
@Html.Partial("_LoginPartial")
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
Kodlarımız yukarıdaki gibi geldi. Mvc'nin ya da Visual Studio'nun sürümüne göre değişiklikler olabilir. Şimdi 11.satırda bulunan,
<body>
içeriğinin sonuna,
<span>Yeni Eklenen İçeriğim</span>
içeriğini ekleyelim. Ardından projeyi yeniden F5 ile çalıştıralım.

Görüldüğü gibi yeni yapılan değişiklik sayfamıza yansıdı. Şimdi menüden diğer sayfaları ziyaret edin. Göreceğiniz gibi tüm sayfalarda değişiklik uygulanmış oldu. Böylelikle tek seferde ortak içeriği rahatlıkla değiştirebildik.
Bir sonraki dersimizde Render Section, Render Page ve Partial View konularını işliyor olacağız.
Hepinize kolaylıklar diliyorum.