ASP.NET Master Page Kullanımı

ASP.NET’te  çokça kullanılan master pageden bahsecedeğim.

Master page yapacağımız projenin temel şablonunu hazırlamak için kullanılır. Master page sayesinde her sayfada gözükmesi gereken footer, menü, header gibi alanların hazır olarak oluşması sağlanır. Master page sayfasında oluşturduğumuz yapı tüm sayfalarda aynı kalacak ve değişmeyecektir. Eğer değişmesini istediğimiz alanlar olacaksa bunlar için ContentPlaceHolder alanları oluşturulur. Bu alanlar içerik yer tutucularıdır. Bu yer tutucular sayesinde oluşturacağımız yeni sayfalarda değişiklik yapabiliriz.

Master page nasıl oluşturulur, ContentPlaceHolder alanları nasıl oluşturulur biraz bunlardan bahsedelim.

Öncelikle File -> New -> Project -> Asp.net Web Application yolunu kullanarak yeni bir proje oluşturuyoruz. Daha sonra Solution explorer kısmında projemize sağ tıklayıp Add -> New Item diyoruz. Sağ üstteki aramaya master yazıyoruz ve karşımıza Master Page geliyor, Add diyerek ekliyoruz.

Daha sonra master pagenin içine giriyoruz.

Yukarıdada görüldüğü gibi default olarak 2 tane contentplaceholder eklenmiş. Birisi head blokları arasına eklenmiş. Bunun nedeni style gibi etiketleri diğer sayfalarda da rahatlıkla kullanabilmeniz için. Diğeri form taglarının arasına eklenmiş. Bunun nedeni de diğer sayfalarda içerik kısmının değişebilmesi içindir.

Bir örnek yapmak amacıyla biz bir tanede title tagları arasına bir contentplaceholder koyalım. Daha sonra içerik kısmında bulunan contentplaceholderın üzerine de bir cümle yazalım ve master pagenin nasıl çalıştığını daha iyi anlayalım.

Şimdi bir web form ekleyerek deneme yapalım. Bunun için Solution explorer kısmından projemize sağ tıklayıp Add -> New Item diyoruz. Daha sonra arama kısmına web form yazıyoruz ve Web Form with Master Page yazan web formu seçerek Add diyoruz. Karşımıza oluşturduğumuz master page çıkacak onuda seçip ok diyoruz.

Web formumuzu eklediğimizde karşımıza sadece contentplaceholderların olduğu alanlar çıkıyor. Çünkü sadece bu alanlar değişebiliyordu. Biz master page içinde bir yazı yazmıştık bu yazının durup durmadığını görmek için öncelikle direk web formu çalıştırıyoruz.

Çalıştırdığımızda yukarıdaki gibi bir ekran çıkacak. Master pagede yazdığımız yazı karşımıza çıkacak. Title kısmında localhost yazıyor fakat biz placeholder yerleştirmiştik. Şimdi web formumuzda Placeholderlara yazı yazarak sayfamızı değiştirelim ve çalıştıralım.


<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
Anasayfa
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<p>Burası oluşturduğumuz web formun yazısıdır.</p>
</asp:Content>

Yukarıdada görüldüğü gibi title Anasayfa olarak değişti ve yazdığımız yazı master pageden gelen yazı + web formdaki yazı olarak eklendi.

Kısaca özetlemek gerekirse master page ile temel şablon oluşturulur. İçerisine eklenen contentplaceholderlar sayesinde de sayfalarda değişecek yerler belirtilir. Böylece kod kalabalığı ve tekrarından kurtulmuş olunur.

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda Full Stack .Net Developer olarak çalışmaktayım.

4 thoughts on “ASP.NET Master Page Kullanımı

  • Eylül 13, 2018 tarihinde, saat 6:28 am
    Permalink

    Güzel açıklayıcı bir paylaşım olmuş furkan

    Yanıtla
  • Haziran 1, 2023 tarihinde, saat 12:17 pm
    Permalink

    peki biz bu master pageye bir resim ekleyecez bunu nasıl yapa biliriz

    Yanıtla

Manivela için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir