ASP.NET' te basit template mantığı
Okuyucu : 2.549
Günlük Okuyucu : 2,2
ASP.NET' OO mantığı bize bazı deli avantajlar sağlıyor bunlardan biri de class' ları override edip ASP.NET çalışması sürecinde istediğimiz noktaya müdahale edebilmek.
Örnek olark klasik bir sitede header/footer kısımlarınızı sabittir (eskiden include kullanırdık) bu tip bir durumda hiç include veya ara fonksiyonlar kullanmadan direk Web.UI.Page class' ında Render() metodunu (control' den inherit) override ederek (overload değil karışmasın) o noktada header ve footer ımızı her sayfada bastırtabiliriz.
Unutmamız gereken iki tane şey var birincisi Render() in üzerine yazdığımızda fonksiyonalite bozulmasın diye orjinal renderi çağırmak ve oluşturduğumuz yeni bir web form' u System.Web.UI.Page yerine kendi class' ımızdan inherit etmemiz. Bu noktada kendi class' ımızda Page' den inherit olduğundan diğer fonksiyonalitelerde hiç bir sorun çıkmayacaktır.
Kodu anlayabilmeniz için OOP mantığı dahilinde override ve inheritlerden haberdar olmalısınız;
'Class Kodu
Public Class TemplatePage
Inherits System.Web.UI.Page
Private Const Header As String = "<html>...."
Private Const Footer As String = "...</html>"Protected Overrides Sub Render(ByVal writer As ystem.Web.UI.HtmlTextWriter)
writer.Write(Header)
MyBase.Render(writer)
writer.Write(Footer)
End SubEnd Class
'Default.aspx
Public Class _default
Inherits TemplatePage
....
End Class
Kod vb sintaksında, C# ve konu farklı ve daha geniş bilgiler CodeProject' te var.
Unutmadan VS 2005' te master pages ile benzer ve daha iyi bir çözüm oluşturabilirsiniz.

Yorumlar
Yorum Ekle
Diğer Yazılar
ASP.NET Web Deployment
ASPRunner Güvenlik Açıkları
ASPRunner Multiple Vulnerabilities
ASP-XML Entegrasyonu
Assassin's Creed
aSSL - Ajax ile SSL
Astalavista.box.sk yı kim blokladı ?
ATLAS, Sakat Aktivite İzleyici
ATM Programlama
Atom 2 RSS, Atom XML Feed tan RSS' e
Attack API
Attribute-Based XSS, ermm...
ATV nin SSL (olmayan) satışı
Autoruns Artık daha Seksi
Ay Ne Şirin Güvenlik Açığı
Ayin Elemani ve Ayin Salagi
Ayın Projeleri, Başarı Hikayeleri
Aynasi iştir kişinini, lafa bakılmaz
Ayrı yazılan De ve Da ların Maceraları
Neredeyim ?
Ferruh.Mavituna » Haberler » ASP.NET' te basit template mantığı