Master Page Kullanımı

Master Page (Ana Sayfa) Kullanımı

Web siteleri genelde çok sayıda sayfadan oluşur. Bu sayfaların belli kısımları hepsinde ortaktır ve aynı içeriğe sahiptir. Sitemizi ilk oluştururken farklı kaydetme yöntemi ile sabit kısımlara dokunmadan, sadece değişmesi gereken yerleri düzenleyerek tüm sayfaları oluşturabiliriz.

Ancak ileride sabit kısımlarda bir değişiklik yapılması gerektiğinde büyük bir sorun bizi bekler. Çünkü tüm sayfalarda aynı değişikliği tek tek yapmak gerekir.

Master Page bizi bu dertten kurtararak sayfaları düzenlememizi son derece kolaylaştırmaktadır.

Master Page Nedir?

MasterPage kavramı Visual Studio Türkçe versiyonlarında "Ana Sayfa" olarak geçmektedir.

Asp.Net web sitelerinde her sayfada aynı görünen sabit bölümleri bir Master Page içerisine yazabiliriz. Diğer sayfaları bu MasterPage'e bağlı olacak şekilde oluştururuz. Böylece MasterPage (Ana Sayfa)'da yer alan içerik bu bağlı sayfaların hepsinde otomatik olarak görünür. Bağlı sayfaların kendine özgü içeriklerini ise o sayfalara yazarız.

MasterPage (Ana Sayfa)'ya bağlı bir sayfaya istek geldiğinde sunucuda bu sayfa ile bağlı olduğu masterPage birleştirilerek tek sayfa haline getirilir ve istemciye gönderilir.

MasterPage içerisinde bir değişiklik yaptığımız anda, bu değişiklik ona bağlı tüm sayfalar için geçerli olacaktır. Bu da sitemizi yönetmemizi oldukça kolaylaştıracaktır. İsterse yüzlerce sayfamız olsun, sabit kısımları tek bir masterpage içerisinden değiştirmek mümkün olacağı için site güncelleme işi ağır bir iş olmaktan çıkacaktır.

Site içeisinde birden fazla master page (ana sayfa) kullanmak da mümkündür. Sayfalarımızı gruplara ayırarak farklı masterpagelere bağlayabiliriz. Hatta bir masterpage başka bir masterpage'e bağlanarak da kullanılabilir.

Peki masterPage nasıl kullanılır?

Master Page Ekleme

Öncelikle projemize bir MasterPage eklemeliyiz. Bunun için Solution Explorer panelinde proje adına sağ tıklayıp Add New Item komutuna tıklanır. Ardından gelen pencerede Master Page seçeneği seçilerek masterPage’ye bir isim verilir ve kaydedilir.

Visual Studio yeni versiyonlarında Master Page seçeneği "Ana Sayfa" veya "Web Forms Ana Sayfası" şeklinde gösterilmektedir.

Projemize Ana Sayfa dahil ettikten sonra bu sayfada yani masterPage’de istediğimiz düzenlemeleri yaparak, tüm sayfalarda görünecek olan kısımları oluşturmalıyız.

Diğer sayfalarda değişebilecek olan yerlere ise ContentPlaceHolder yerleştireceğiz.

Aşağıdaki örnekte sayfanın üst, sol ve alt kısımları MasterPage içerisinde oluşturulmuştur. Orta kısma ise iki tane ContentPlaceHolder konmuştur. 

ContentPlaceHolder yerleştirdiğimiz kısımlar, bu ana sayfaya bağlı olan diğer sayfalarda değişebilecek olan yerlerdir.

Şimdi diğer sayfaları oluşturup, bu MasterPage’e bağlamaya sıra geldi.

Yapmamız gereken şey;

Eski versiyonlarda: Add New Item (Ekle - Yeni Öğe) komutu ile yeni bir Web Form eklemek ve pencerenin sağ alt köşesindeki “Select Master Page” kutusunu işaretlemek. Sonraki ekranda bizden Master Page seçmemiz istenecek, biz de oluşturduğumuz sayfanın bağlanacağı Master Page’i bu ekranda seçeceğiz.

Yeni versiyonlarda: Ekle - Yeni Öğe komutu ile gelen pencereden "Ana Sayfa ile Web Form" seçeneğini seçmek. Sonraki ekranda da oluşturmakta olduğumuz sayfanın hangi ana sayfaya bağlanacağını seçmek.

Oluşturulan yeni sayfanın kodları şu şekilde olacaktır.

Görüldüğü gibi bu sayfada sadece content etiketleri bulunmaktadır. Biz bu sayfaya özel içerikleri bu content etiketleri arasına yazacağız. Her content etiketi, master page’deki bir contentPlaceHolder’a bağlıdır ve bu ContentPlaceHolderID özelliği ile belirtilmiştir. Bu sayede sayfalar birleştirildiğinde hangi içeriğin nerede yer alacağını anlayabiliriz.

Yani web sayfalarındaki Content nesnelerinin içeriği, ana sayfadaki ilgili ContentPlaceHolder nesnesinin yerine konacaktır.

asp.net master page ne işe yarar, masterpage kullanımı, master page nasıl kullanılır, masterpage ile user controlün farkı, masterpage kullanmanın avantajları, visual studio ana sayfa nedir, ana sayfa ne için kullanılır

KONU İLE İLGİLİ ÖRNEKLER

Bu konu ile ilgili örnek bulunmamaktadır.



YORUMLAR




13088  kez okundu.

Online Kullanıcı Sayısı 681