Asp.Net Masterpage yapısı, tasarımcıları birçok rutin işlemden kurtaran, onlara zaman kazandıran kullanışlı bir özelliktir. Masterpage’in temel mantığı site içerisinde ki sayfaların kendi hazırladığımız bir şablondan türetilmesi işlemidir. Bu şekilde tüm sayfalarda ki değişmeyen bölümler, bir kere oluşturulduktan sonra tüm sayfalarda kullanılabilir. Aşağıdaki resmi bir sitenin değişen ve değişmeyen bölümlerini anlamak adına inceleyebilirsiniz. Kırmızı ile renklendirilen alanlar tüm sayfalarda sabit, mavi kısımlar (içerik) ise her sayfa da farklı olması gereken alanları temsil etmektedir.
MasterPage Kullanmanın Gereği ve Önemi
- Her sayfada tekrarlayan kısımlar için kopyala-yapıştır sorununu ortadan kaldırır.
- Tamamen içeriğe odaklanmanıza olanak verir.
- Kodlama sırasında hata yapma olasılığınızı azaltır.
- Örneğin logonuzu değiştirmek isterseniz, sadece master sayfadaki yaptığınız değişiklik tüm sayfalara uygulanır. Zaten böyle olmasa binlerce içeriği bulunan sayfaları tek tek düzeltmek saatler alırdı.
- Daha işlevsel ve kolay yönetilebilir siteler oluşturulabilir.
Visual Studio ile MasterPage Oluşturma
Öncelikle şunu belirteyim MasterPage oluşturmak sıradan bir Web Form oluşturmaktan farksızdır.
Solution Explorer penceresinden sitenizin ismini sağ tıklayıp Add-Add New Item seçeneğini tıkladığınızda aşağıdaki pencere açılacaktır. Masterpage‘i seçip bir isim vererek sitenizin içerisine ekleyebilirsiniz. Masterpage sayfalarının uzantısının aspx değil master olduğuna dikkat ediniz. Ayrıca boş sayfa içerisinde ContentPlaceHolder adında bir kontrol olduğunu farkedeceksiniz.
1 2 3 4 |
<div> <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> |
Sayfanızı oluşturmadan önce bu kontrolü kaldırmanızda fayda var sonra tekrar Toolbox üzerinden ekleyebilirsiniz. Sitenizin genel şablonunu oluşturduktan sonra (menüler, banner, reklam alanları v.b) sadece içerik kısmının yer aldığı div’in içeriğini oluşturmayın. Buraya önceden kaldırdığımız ContentPlaceHolder’ı ekliyoruz. Bu kontrolü her sayfada değişecek kısımlara (içeriğiniz) ekleyin.
MasterPage’den Web Formları Türetme İşlemi
Masterpage’i oluşturma işlemi ve ContentPlaceHolder yerleşimi yapıldıktan sonra artık içerik sayfalarınızı hızlıca oluşturmaya hazırsınız.
Yeni bir web form ekleme sayfasını açtıktan sonra Select Master Page tikini işaretleyerek Web formumuzu oluşturduğumuz şablondan türetebiliriz.
Açılan pencerede oluşturduğumuz şablonu sağ kısımdan seçip Add diyerek Web Formunu siteye ekliyoruz.
Artık içerik sayfalarınızı bu şekilde ekleyerek çoğaltabilirsiniz. Oluşturduğunuz içerik sayfalarından masterpage ile düzenlenmiş kısımları değiştirmeniz mümkün değildir. Bu kısımları masterpage üzerinden değiştirebilirsiniz. Yapılan değişiklik oluşturulan tüm sayfalarda etkili olacaktır.