• 21-09-2008, 17:45:13
    #1
    Asp.NET'e yeni başlayanlar, başlamak isteyen,geliştirmek isteyen arkadaşlar için bugün bir makale serisine başlıyoruz.

    Konumuz Asp.NET ile yaşamak...

    Makale serimizde, Asp.NET'e giriş seviyesinden başlayarak, geliştirme aşaması, diğer web yazılım dilleri ile karşılaştırılmasına kadar birçok konuyu ele alacağız.
    Makale serimize MasterPage kavramı ile başlıyoruz. Başlangıcı bu seviyeden yapma amacım genelleme olması ve gerçekten ilk gördüğümde "Aradığım buydu" demiş olmam. Microsoft Visual Studio 2005 ile geliştireceğiz küçük çaplı projelerimizi.

    MasterPage Nedir?

    MasterPage, adından anlaşılacağı üzere sayfa yapımızdır. Projemize MasterPage eklediğimizde bu sayfaya bağlı eklediğimiz tüm sayfalar bu şablon altında açılacaktır.

    Biraz açalım bu cümleleri... Daha önce Footer, header, ust.htm, alt.htm gibi kavramlarımız vardı. Artık tarihteler. Üstümüzde altımızda solumuzda sağımızda MasterPage(!) Sol blok, üst ve alttan oluşan bir sayfa yapıyoruz. Tıkladığımız tüm linkler zaten daha önce belirlediğimiz şablonda açılacak.
    Microsoft Visual Studio 2005'e Hoşgeldik...

    Visual Studio 2005'imizi açıyoruz.



    Yeni Web Projesi açmamız gerekiyor...





    İsmini verip Projemizi oluşturuyoruz. wwwroot içine açma sebebim, F5 yerine localden çalışmam. ( F5 Visual Studio için, Build ve Debug işlemidir. )

    Karşımıza, Default.aspx sayfası çıkıyor. Bir takım kodlar... HTML'i andırıyor diye düşünüyoruz. Tam düşündüğünüz gibi. Kod sayfalarımızı da başka bir yerde tutarak (.cs uzantılı dosyalar) çok düzenli bir kod yazma işlemi gerçekleştireceğiz.

    Ancak daha önce bir MasterPage belirtmediğimiz, Default.aspx dosyasını öncelikle ayak bağı olmaktan çıkarıp, projemizden silmemiz gerekiyor.



    Silme işleminin ardından, Konumuz olan MasterPage'imizi Solution Explorer yardımıyla resimdeki gibi ekliyoruz ;





    Bu kısımda "Place code in separate file" ve Language : Visual C# (VB Geliştiriyorsanız VB) seçili olmasına dikkat ediyoruz. 1. Seçenek Kod dosyalarımızın ayrı bir cs dosyasında tutmasını istiyoruz. Açılan Kod sayfasının 1. satırındaki ;

    CodeFile="Yapimiz.master.cs" Inherits="Yapimiz"

    Kodları, Kod dosyamızın tutulacağı cs dosyasını (VS Kendisi oluşturacaktır) ve Daha sonra göreceğimiz Inherit yapısını bildiriyor. Sol alt kısımdan Design Kısmına geçtiğimizde FrontPage benzeri web tasarım araçları çıkacak karşımıza. Ve Yeni karşılaştığımız bir kontrol : ContentPlaceHolder1

    ContentPlaceHolder, Iframe mantığı ile çalışan sayfalarımızın açılacağı küçük kontrol. Yapımızı oluşturduktan sonra, Ortaya bu kontrolü yerleştirip üst sol alt yapıların sabit kalıp sayfalarımızın bu kontrolde açılmasını sağlıyoruz.

    Çok fazla özenmeden hazır bir Tablo şablonu sağlıyoruz Layout / Insert Table seçenekleri ile. Açılan formda, Template seçerek "Header, Footer and Side"'ı seçiyoruz. ContentPlaceHolder'ı sayfamızın açılacağı tablo ortasına imledikten sonra ki görüntümüz aşağıda ki şekilde olacak :



    Artık Default.aspx dosyamızı ekleyebiliriz. MasterPage eklediğimiz şekilde Solution Explorer üzerinde projemize sağ tıklayarak Add New Item diyoruz ve aşağıda göründüğü şekilde (işaretlenen : Select MasterPage kısmına dikkat(!)) yeni sayfamızı ekliyoruz :



    Eklediğimiz Default.aspx dosyasının Design tarafına geçtiğinizde ; Header, Menü ve Footer olarak imlediğimiz alanlara müdahale edemediğinizi göreceksiniz. Source kısmında ise ;

    Page Language="C#" MasterPageFile="~/Yapimiz.master" ...

    Şeklinde devam eden kodlar MasterPage'imizi Yapimiz.master dosyası olarak göstermemizi (Bu kodlara müdahale etmeyin,VS üretecektir.) sağlamaktadır. Bundan sonra üreteceğimiz Master yapısına bağlı sayfalar da bu şekilde görüntülenecektir. Link verirken herhangi bir hedef belirtmenize gerek yok. Tüm sayfalarda bu yapılar standart olarak gelecek, ekstra işlem gerektirmeyecektir.
    PHP'de require_once kullanıyorduk her oluşturduğumuz sayfanın, çağırılması istenen dosyalarında,
    ASP'de include ile çağırıp kullanıyorduk...
    Artık MasterPage'imiz var. Güle Güle Kullanın.
    Not : Makale yazılırken herhangi bir kaynak kullanılmamıştır ve bu makale yalnızca R10'da yayımlanmaktadır. Kaynak belirtilerek kullanılabilir.
    M. Sertaç BAYIR
    MCTS, MCAD.NET
  • 09-12-2008, 13:47:24
    #2
    Ellerinize sağlık devamını getirirseniz sevinirim.
  • 19-03-2009, 22:55:34
    #3
    Grafikler???
  • 21-03-2009, 01:19:42
    #4
    guzel anlatım faydalı bilgi , tesekkurler...
  • 21-03-2009, 10:57:13
    #5
    Master Page İnanılmaz Yararlı Bir Şey...

    Teşekkürler Güzel döküman.
  • 12-05-2009, 21:07:14
    #6
    Dediğiniz gibi MasterPage gerçekten çok yararlı bir sayfa şablonudur. Bizlere çok büyük avantajlar sağlar. Herkesin sitesinde kullanmasını tavsiye ederim.
  • 12-05-2009, 22:03:53
    #7
    asp.net kullanımında master page çok önemli. mutlaka öğrenilmeli. resimler ölmüş video vereyim.

    KariyerVideo | Master Page Uygulaması Videosu...