Anasayfa

C ve Sistem Programcıları Derneği

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

menü

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

e-posta ile bilgilendirme.

Derneğimizdeki etkinliklerden haberdar olun!

Haber mektubu üyeliğiniz

Kimler çevrimiçi

Şu an 0 kullanıcı ve 4 ziyaretçi çevrimiçi.
""
dreamhost
Anasayfa

ASP.NET Master Page Kullanımı

12.08.2010 - 03:24 tarihinde aykut gönderdi
Yazan: 
Aykut TAŞDELEN

Gerçek hayatta yazılan uygulamalara ilişkin sayfa ya da ekranlar büyük oranda birbirini taklit eden ve tutarlı bir görselliğe sahiptir. Bu noktada bir projedeki olası onlarca ya da yüzlerce sayfayı her seferinde en baştan oluşturmaya çalışmak programcı için çok ciddi ve gereksiz bir iş yüküdür.

ASP.NET 2.0 versiyonuna kadar geliştiriciler bu yükü azaltmak için bir şablon sayfa tasarlayıp uygun bir isimle kaydederdi. Daha sonra diğer sayfaları bu şablondan copy paste yolu ile üretip adını değiştirerek kullanırdı. Bu kısmen (biraz da alternatifi olmadığı için uygulanan) kötü bir tekniktir. Keza bu şekilde üretilen sayfalarda sonradan bir değişiklik olursa tek tek tüm sayfalar değiştirilmek zorunda kalınır. Oysa master page kullanımı bu sorunu da ortadan kaldıran iyi bir tekniktir.

Geliştiriciler her bir sayfayı sıfırdan oluşturmak yerine, master page ile bir şablon tasarlamalı daha sonra da bu şablonu uygulamasını istediği sayfaları söz konusu master page’den türetmelidir. Türeyen sayfalar terminolojide Content Page ismi ile anılırlar. Bu teknik sayfa oluşturmayı kolaylaştırdığı gibi sonraki olası değişikliklerde sadece master sayfanın değişimi ile kendisinden türeyen sayfaların da tek hamlede değiştirilebilmesini sağlar.

Master page içerisinde, kendisinden türeyen sayfada özelleştirilmek üzere, özel alanlar bırakan ContentPlaceHolder isimli kontroller bulunur.

Herhangi bir aspx sayfası bir master page’dan türemiş ise;  o sayfanın page direktifindeki MasterPageFile  niteliği master sayfanın isim bilgisini taşımalıdır.

 

<%@Page MasterPagefile=”~/Sablon.master” %>

 

<asp:Content ID="xxx" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

 

            <!--  özel içerik buraya gelecek -à    

 

</asp:Content>

 

Bu şekildeki bir sayfada normal html içerik yerine master’daki tanımlanmış olan ContentPlaceHolder isimli kontrol içine yazılacak kod ile içerik belirlenir.

 

Anahtar Notlar :

 

  • Bir projede birden çok master page olabilir.
  • Master page’lerin dosya uzantıları .master’dır.
  • Bir master page başka bir master page’den türetilebilir.
  • Burada türetme kelimesi gerçek anlamı ile kullanılmıştır. Yani nesne yönelimli programlama açısından Master Page deki kodlar da sayfalara türetme yoluyla aktarılmaktadır.
  • Farklı cihaz türleri ve tarayıcılar için aynı sayfaya birden fazla master page ilişkilendirilebilir. Örneğin IE ve Firefox için bunun  nasıl yapılacağı aşağıda örneklenmiştir :

 

<%@ Page IE:MasterPageFile="~/MasterIE.master" MozillaFirefox:MasterPageFile="~/MasterFirefox.master" ...>

 

Mobil cihazlar için ise aynı işlem şöyle de yapılabilir.

 

protected void Page_PreInit(object sender, EventArgs e)

{

    HttpBrowserCapabilities hpc = Request.Browser;

 

    if (hpc.IsMobileDevice)

    {

        Page.MasterPageFile = "MobilSablon.master";

    }

}

Aykut TAŞDELEN
C ve Sistem Programcıları Derneği Eğitmeni
aykuttasdelen@csystem.org

www.aykuttasdelen.net

 

  • Yazıcı uyumluYazıcı uyumlu
  • Arkadaşa gönderArkadaşa gönder
  • PDFPDF

Adres: 2.Taşocağı Cd. Oğuz Sk. Barbaros Apt. No: 11/4 PK: 34387  Mecidiyeköy / İSTANBUL Tel: (212) 274 63 60  (212) 274 99 89  (212) 275 88 97  (212) 288 35 20 Fax: (212) 275 88 97 E-Posta: csystem@csystem.org

İçerik yayınları
Fervens Drupal theme by Leow Kah Thong. Designed by Design Disease and brought to you by Smashing Magazine.