Master Page ilk olarak ASP.NET 2.0 ile gelmiştir ve çok önemli bir özelliktir. Master Page, web from gibi davranır ancak şablondur , çalışmaz. Sadece bu şablonu kullanarak türeyen web sayfaları varsa çalıştırır.

Master Page mantığı aslında bizim yapmış olduğumuz projelerin temel yapısını oluşturma amaçlı kullanılır. Yani bir Master Page ile genel olarak tüm sayfalarımda olabilecek özellikleri, web kullanıcı kontrollerini bir master page içinde oluşturabilir ve daha sonra bu master page’i istediğim web formlarında kullanabilir ve master page’de yaptığım bir değişmeyi bütün webfrom sayfalarımda kolayca kullanabilirim.

Aslında bir Master Page birden çok web formu barındıran bir şablondur. Kısaca bir template’dir diyebiliriz. Örneğin bir web sitesi hazırlıyoruz ve bütün sayfalarımızın şablonu diğer sayfalarımızda da mevcut. Bu durumda her sayfamızda olacak özellikleri master page gömerek daha hızlı bir site yapabiliriz. Hatta anasayfa da yaptığımız bir değişikliği tek tek bütün sayfalarda yapmak oldukça güçtür. İşte bu durumda master page sayfasına ekleyip ve master page’den türettiğimiz sayfalar yapmak daha akıllıca bir çözümdür.

Master Page dosyalarının uzantısı Asp.net ortamında Master‘dır. Dikkat edin büyük M harfiyle başlıyor. Ayrıca tıpkı web formları ve web user kontrolleri gibi codebehind dosyalarını destekler. Tüm master page dosyaları System.Web.UI.MasterPage sınıfından miras almaktadırlar.

WEB sayfalarımızı oluştururken sayfa yapılarımızı oluşturma esnasında Master Page veya WEB User kontrolleri kullanmamız bize modifikasyon ya da sitemizi büyütme, geliştirme, genişletme aşamasında büyük kolaylıklar sağlar. Sayfalarımızda bu özellikleri kullandığımızda ileride sadece bir master page yapısını ya da bir web user kontrol yapısını değiştirerek çok basit ve hızlı bir şekilde tüm sayfalarımızda gerekli düzenlemeleri yapabiliriz.

Özel olarak bir ContentPlaceHolder kontrolü kullanılır. ContentPlaceHolder bir yer tutucudur. ContentPlaceHolder kontrolü bizim içerik sayfalarımızın yer alacağı kısım. Yani ContentPlaceHolder dışında kalan yerler tüm sayfalarda ortak olacak. ContentPlaceHolder yazan yerlere ise ilgili sayfanın içeriği gelecek.Master sayfamızda bunlardan otomatik olarak iki tane oluşturulur. Birisi head etiketleri arasında birisi ise body etiketleri arasındadır. Biz istediğimiz yere istediğimiz kadar ekleyebiliriz.

Şimdi örnek üzerinden biraz daha iyi anlayalım.

Öncelikle Site1.Master page sayfamızı projemize ekliyoruz ve ardından sayfamızı bu hale getiriyoruz.

4135010320152005004135

Sitemize header, footer,sağ menü , sol menü ekleyeceğiz ve tabiki de her sayfamızda değişmeyen özellikler bunlar. Sayfamızın içeriği yani content bölümü her sayfada değiştiği için bunu”asp:ContentPlaceHolder ID=”ContentPlaceHolder1″ runat=”server”>

Şimdi de projemize Web From using Master Page seçeneğini tıklayarak karşımıza hangi master page kullanılacak diye bir pencere geliyor. Gördüğünüz gibi birden fazla master page yaratabiliriz.
Açılan sayfamıza şu kodlarımızı yazıyoruz.

aspx

tasarım

Artık site1.Master page den türeyen sayfalarımızın sadece content kısmını değiştirebilir özelliğimiz oldu. Bu sayede sitelerimizi çok kolay yapabiliriz.

Written by Sümeyra Akbıyık
hakkımdaki her şeyi bu blogda bulabilirsin. Haydi sende bir göz gezdirmeye ne dersin?

Leave a Comment