Professional Documents
Culture Documents
»
Planlama
Web Kullan›c›
Kontrolleri
.NET ‹le etkileflimli Web Kullan›c› Kontrollerini kullanarak
hayat›n›z› kolaylaflt›r›n
Web Kontrollerinin Avantajlar›
H
erkese merhaba! Bu ay, .NET ile
Web uygulamalar› gelifltiren or- Peki, durup dururken niye bir Web kontrolü kul-
ta düzeydeki programc›lar› se- lanmak isteyelim? Bunun en önemli sebebi, Web
vindirecek bir yaz› ile kontrollerinin bize sa¤lad›¤› nesne temelli prog-
karfl›n›zday›z. C# ile Web uygu- ramc›l›k avantajlar›d›r. Farkl› Web sayfalar›nda
lamalar› gelifltiriyorsunuz. Gelifltirdi¤iniz sayfa- s›kl›kla kulland›¤›m›z bir tasar›m› Web kontrol
larda zaman zaman Web User Control’lara da yer içerisinde bir kez kodlad›¤›m›zda, söz konusu ta-
veriyorsunuz. Peki, User Control’lar›n›zdan ye- sar›m, dâhil etti¤imiz sayfalar içerisinde otoma-
terli verimi alabildi¤inizden emin misiniz? tik olarak belirecektir.
Gelin, ifle temel kavramlar› flöyle bir hat›rlaya-
rak bafllayal›m... Web User Control’ün ne oldu-
¤unu herkes biliyor, öyle de¤il mi?
Hat›rlayaca¤›n›z gibi, .NET, bir web projesi içeri-
sinde iki temel arabirim seçene¤i sunuyordu:
Web formu ve Web kontrolleri. Web formlar›, C#
ve HTML deste¤i ile haz›rlanan ve dinamik bir fle-
kilde Web sayfas› üretebilen ö¤elerdir. Web kon-
trolleri ise tek bafllar›na çal›flt›r›lamayan, ancak
Web formlar› (sayfalar›) içerisine dahil edilebilen
küçük kod / tasar›m parçalar›d›r.
<td bgcolor="#00ccff"> private void Page_Load(object sender, private void btn3_Click(object sender,
Buras› Web Sayfas›! System.EventArgs e) System.EventArgs e)
<asp:Button ID="btn1" Text="Türkçe" Ru- { {
nat="server" /> } concon.displayDE();
<asp:Button ID="btn2" Text="‹ngilizce" Ru- }
nat="server" /> public void displayTR() }
Planlama
Oldukça aç›k, öyle de¤il mi? fiimdi • E¤er ASP.NET standard›nda bulun-
gelin, projemizi çal›fl›r durumda göre- mayan bir kontrole ihtiyac›n›z varsa,
lim. Türkçe dü¤mesine t›klad›¤›m›zda; kontrolü bir Web formu içerisinde
sayfam›z afla¤›daki görüntüyü alacakt›r. kodlamaya çal›flmak yerine yeni bir
Web User Control yaratmak iyi bir fi-
kir olacakt›r.
• Web projenizin farkl› sayfalar›nda
tekrar tekrar kulland›¤›n›z özerk kod
bloklar›n› Web User Control haline
getirmeniz, sizin ve projenizin lehine
Türkçe dü¤mesine t›klad›ktan olacakt›r. Örne¤in; de¤iflik sayfalarda
fiekil 5: sonra... görüntülemek istedi¤iniz ziyaretçi
‹ngilizce dü¤mesine t›klad›¤›m›zda, anketlerini farkl› sayfalarda tekrar
Web kontrolümüzde ‹ngilizce bir metin tekrar kodlamak yerine; AN-
görüntüleniyor olacak. KET.ASCX adl› bir User Control ya-
ratman›z ve anket koymak istedi¤iniz
sayfalara bu kontrolü dahil etmeniz
yerinde olur.
• Benzer flekilde, farkl› sayfalarda tek-
rarlanan tasar›m bloklar› da Web
User Control haline getirilebilir. Ör-
‹ngilizce dü¤mesine t›klad›ktan ne¤in; sitenin her sayfas›nda yer alan
fiekil 6: sonra... dinamik bir menü söz konusuysa, bu
Son olarak Almanca dü¤mesine t›kla- menüye ait tasar›m› de¤iflik sayfalar-
yaca¤›z. da tekrarlamak yerine tek bir Web
User Control haline getirip farkl› say-
falara dahil etmek yerinde olacakt›r.
• E¤er bir ASP.NET sayfas›n›n kodla-
mas› gittikçe kar›fl›yorsa ve içinden
ç›k›lmaz bir hal al›yorsa, sayfa üze-
rindeki ö¤eleri (programc›l›k mant›-
Almanca dü¤mesine t›klad›ktan ¤› çerçevesinde) mant›ksal bloklara
fiekil 7: sonra... dönüfltürüp, her bir blo¤u ba¤›ms›z
Evet, hepsi bu kadar... Bu yaz›da; ve dinamik birer User Control haline
Web kontrollerinin, içinde bar›nd›klar› getirmek iflleri daha kolay bir hale ge-
sayfalardan izole bir flekilde çal›flmak tirecektir.
zorunda olmad›¤›n› görmüfl olduk. Kon-
trolümüz içine ekleyece¤imiz fonksi- Yard›mc› linkler:
yonlar ve sayfam›zdan yapaca¤›m›z http://msdn.microsoft.com/library/de-
yönlendirmeler sayesinde, sayfam›zla fault.asp?url=/library/en-us/vbcon/
kontrolümüzün iflbirli¤i ve uyum içeri- html/vbwlkWalkthroughCreatingWe-
sinde çal›flmas›n› rahatl›kla sa¤layabili- bUserControls.asp --> Az tecrübeli C#
riz. Bu örne¤e ait proje dosyalar›n›, programc›lar›, ad›m ad›m Web User
dergi Web sitesinin “Ad› geçen dosya- Control yaratma konusunda bu sayfaya
lar” bölümünden indirebilirsiniz. baflvurabilir.
http://msdn.microsoft.com/lib-
.NET Web User Control’ler Ne rary/default.asp?url=/library/en-
Zaman Kullan›l›r? us/vbcon/html/vbwlkWalkthroughCrea
• E¤er ASP.NET içerisinde standart tingWebUserControls.asp --> Az tecrü-
olarak gelen bir kontrol iflinizin bü- beli VB.NET programc›lar›, ad›m ad›m
yük bir k›sm›n› görüyorsa; ancak Web User Control yaratma konusunda
“Keflke fluras› flöyle olsayd›” gibi bir bu sayfaya baflvurabilir.
tak›m endifleleriniz varsa, bu stan- http://msdn.microsoft.com/lib-
dart kontrolü Inherit eden bir Web rary/default.asp?url=/library/en-
User Control yaratmak ve Override us/dv_vjsharp/html/vjwlkwalkthroughc
yöntemiyle kendi kontrolünüzü iste- reatingwebusercontrolwithvisualj.asp -
di¤iniz hale getirmek mant›kl› ve ve- -> Tecrübesiz J# programc›lar› için ad›m
rimli bir çözüm olacakt›r. ad›m Web User Control yaratma.