5.Master Page

 

Bir web sitesi birden fazla sayfadan oluşur. Bu sayfalarda içerik değişirken her sayfada tekrarlanan ögeler ve özellikler vardır. Web sitesi hazırlanırken bir şablon oluşturarak şablon üzerinde içerik değişikliği ile sayfalar kolaylıkla hazırlanabilir. Ancak sayfa sayısı arttıkça web sitesinde güncelleme yapma bütün sayfaların tek tek elden geçirilerek değiştirilmesi anlamına gelmektedir. Bu durum zaman konusunda tasarımcılara çeşitli sıkıntılara sebep olacaktır.

 

Genellikle web sitelerinde linklere tıkladıkça gelen sayfalarda bazı içerikler sabit olup, bazıları ise tıklanan linke göre değişmektedir. Örnek vermek gerekirse; bir web sitesinde banner veya sağ tarafta bulunan bir panel hep sabittir. Yani anasayfada da, iletişim sayfasında da veya herhangi bir başka sayfada da bu kısımlar değişmez. Değişen kısım ise muhtemelen ilgili sayfaya ait bilgilerin olduğu içerik kısmıdır. Aşağıdaki resme bakarak olayı daha iyi anlayabiliriz:

 

 

 

ASP.NET ile birlikte web kullanıcı kontrollerinin yanında Anasayfa (MasterPage) özelliği eklenerek tasarımcılara büyük kolaylıklar sağlanmıştır.

 

MasterPage kullanımı ile birlikte sitenin tasarımı oluşturulmaktadır. MasterPage üzerinde sabit kalması ve değişmesi istenen alanlar belirlenir. MasterPage kullanılarak siteye yeni eklenen bir sayfa tasarım uygulanır. MasterPage üzerinde yapılan bir değişiklik programlama yazılımı ile MasterPage kullanılan tüm sayfalarda otomatik olarak güncellenmektedir.

 

 

Mater Page Oluşturma

 

MasterPage sayfaları standart ASP.NET sayfaları ile benzerlik göstermektedir. Dosya uzantısı .master’dır. ASP.NET sayfaları @Page direktifi ile başlarken MasterPage sayfaları @Master direktifi ile başlamaktadır. Temel bu iki fark haricinde tasarımı standart ASP.NET sayfaları ile aynıdır.


Web sitesine bir MasterPage eklemek için;
 Add New Item – FormSite iletişim penceresinden MasterPage komutunu seçin.

 

 

 

 

MasterPage sayfasında tüm sayfalarda görüntülenmesi istenen alanlar belirlenebilir. Sayfalara özgü alanlar ise ContentPlaceHolder kontrolü ile belirlenir. ContentPlaceHolder kontrolü, MasterPage sayfalarından türeyen sayfalarda içeriği değişen alanları ifade eder.

Programlama yazılımı yeni eklenen MasterPage sayfasına iki tane ContentPlaceHolder kontrolü ekler. Birincisi sayfa tanımlamaların yapılması için Head etiketi içinde, ikincisi ise içeriğin eklenmesi için Body etiketi içindedir.

 

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>

</div>
</form>
</body>
</html>

 

 

 

Master Page'den Web Sayfası Türetme

 


Bir web projesinde birden fazla MasterPage kullanılabilir. Programlama yazılımı web sitesine yeni bir web form eklerken MasterPage sayfalarından birinin seçilerek sayfanın türetilmesine olanak sağlar.

 


MasterPage sayfasından sayfa türetmek için;
 Add New Item – FormSite iletişim penceresinden Web Form komutunu seçin.

 

 

Penceresi sol alt bölümünde Select Master Page seçeneği aktif hale getirin.

 

Add butonuna tıklayın. Ekrana gelen Select a Master Page iletişim penceresinden uygun MasterPage sayfasını seçin ve onaylayın.

 

 

Master sayfasından türetilmiş web sayfamız oluşmuş oldu.

Aşağıdaki resimde Default.aspx sayfası masterpage'den üretilmiştir.ContentPlaceHolder alanına istediğimz içeriği ekleyebiliriz.Bunu dışındake yerlere müdahele edemeyiz.

Müdehale etmek istersek masterpageyi açıp değiştirmeliyiz.

 

ContentPlaceHolder master sayfasında silindiyse Tools panelinde Standart araçlardan ekleyebiliriz.

 

MasterPage sayfaları tarayıcıda tek başlarına görüntülenmez. MasterPage görüntülenmek istenmesi durumunda MasterPage sayfasından türeyen bir sayfa ile görüntülenmelidir.

 

 

 

 

 

 

Web hosting by Somee.com