ViewStart’ın ne olduğunu anlatmak için yapılabilecek en iyi tanım şudur Layout tanımına ait değerin her view’de aynı olduğunu düşünelim bu durumda Layot tanımını sadece ViewStart dosyasında yapıp diğer view’lerden Layout tanımlarını silebilirsiniz.
ASP.NET MVC ViewStart Nedir ve Kullanımı
View Klasörümüz altında _ViewStart.cshtml tanımıyla beraber gelen dosyanın içeriğini aşağıdaki şekilde değiştirin.
1 2 3 | @{ Layout = "~/Views/Shared/_Layout.cshtml"; } |
Üstteki tanımla View dosyalarının Layout’u _Layout.cshtml olarak ayarlanmış oldu fakat eğer biz klasöre özel layout tanımlamak istersek mesela blog ile alakalı bir projeniz olduğu düşünün menü ve sağ panel’in yer aldığı bir layout’u giriş sayfası için kullanamayız bunun için giriş sayfanıza Layout tanımı yaparak ViewStart’daki Layout tanımını ezebilirsiniz.
Layout tanımı yapılan her view dosyasından ViewStart dosyasındaki Layout tanımını görmezden gelebilirsiniz
Dizine Özel ViewStart Tanımlama
Eğer dizine özel ViewStart tanımı yapmak isterseniz mesela Admin Sayfam Kullanıcıya gözükenden farklı olacak ise ve ayrı ayrı her view’e Layout tanımıda yapmak istemiyorsanız o zaman şöyle bir örnek verebiliriz Admin klasörü altında yer alan tüm view’lerinize Layout tanımını tek yerden yapmak istiyorsanız Admin klasörü altında _ViewStart.cshtml yazıp en üstte tanımladığımız kodu yazmalısınız böylelikle Admin için ayrı olarak tasarladığımız Layout tanımınıda tek yerden yapmış olduk.
ViewStart dosyasının tek amacı Layout tanımı yapmak değildir Layout gibi tekrar eden tüm kodlarınızı ViewStart içerisine alabilirsiniz.