AspNet.sk     Diskusné fóra     Vitajte v QuickStarts     ASP.NET     Silverlight     Ako môžem...? (en)     Class prehliadač Príklady chcem v ...   
Menu
Skip Navigation Links.

ASP.NET Quickstart Tutorial

Používateľské ovládacie prvky

Okrem vstavaných serverových ovládacích prvkov ASP.NET môžete definovať aj vlastné ovládacie prvky použitím rovnakej programovacej techniky, akú ste sa práve naučili na písanie stránok - Web Forms. Skutočne takmer každá stránka Web Form môže byť s menšími modifikáciami použitá na inej stránke ako serverový ovládací prvok (Poznámka: Používateľský ovládací prvok je typu System.Web.UI.UserControl, ktorý dedí priamo z System.Web.UI.TemplateParser). A Web Forms page used as a server control is named a user control for short. Záležitosťou dohody je aj používanie prípony .ascx na indikovanie takýchto ovládacích prvkov. To zaisťuje, že súbory používateľských ovládacích prvkov nemôžu byť vykonané ako nezávislé stránky Web Form ( uvidíte, že je tam málo, ale dôležitých rozdielov medzi používateľskými ovládacími prvkami a stránkami Web Form). Používateľské ovládacie prvky sú vložené do stránok Web Form pomocou direktívy Register :
<%@ Register TagPrefix="Acme" TagName="Message" Src="pagelet1.ascx" %>
TagPrefix určuje jedinečný namespace pre používateľský ovládací prvok (tak, aby viacnásobné používateľské ovládacie prvky s rovnakým menom boli od seba dostatočne diferenciované. TagName je jedinečné meno používateľského ovládacieho prvku (môžete si vybrať akékoľvek meno). Atribút Src je virtuálna cesta k používateľskému ovládaciemu prvku - napríklad "MyPagelet.ascx" alebo "/MyApp/Include/MyPagelet.ascx". Po registrovaní používateľského ovládacieho prvku môžete umiestniť tag používateľského ovládacieho prvku do stránok Web Form ako bežný serverový ovládací prvok (vrátane atribútu runat="server"):

<Acme:Message runat="server"/>
Nasledujúci príklad ukazuje vloženie používateľského ovládacieho prvku do inej stránky Web Form. Poznámka: Používateľský ovládací prvok je v tomto prípade iba jednoduchý statický súbor.

VB UserCtrl1.aspx
Run Sample View Source

Vystavovanie vlastností používateľského ovládacieho prvku

Ak sa so stránkou Web Form zaobchádza ako s ovládacím prvkom, tak verejné polia a metódy tejto stránky sú podporované ako verejné vlastnosti (t.j. atribúty tag-ov) a metódy ovládacieho prvku tiež. Nasledovný príklad ukazuje rozšírenie predchádzujúceho príkladového používateľského ovládacieho prvku pridaním dvoch verejných polí String. Poznamenajme, že oba tieto polia môžu byť v obsahujúcej stránke nastavené deklaratívne alebo programovo.

VB UserCtrl2.aspx
Run Sample View Source

Okrem umiestnenia verejných polí do vlstností ovládacieho prvku môže byť použitá aj syntax vlastností. Syntax vlastností má prednosť vykonaním kódu pokiaľ sú vlastnosti nastavené alebo obnovené. Nasledujúci príklad demonštruje používateľský ovládací prvok Address, ktorý obaľuje textové vlastnosti ovládacieho prvku TextBox. Výhodou toho je, že ovládací prvok voľne dedí automatický stav riadenia ovládacieho prvku TextBox.

Poznámka: Stránka Web Form obsahuje dva používateľské ovládacie prvky Address, ktoré jednotlivo nastavujú vlastnosť Caption na "Billing Address" a "Shipping Address". Skutočná sila používateľských ovládacích prvkov je v tomto type znovupoužiteľnosti.

VB UserCtrl3.aspx
Run Sample View Source

Ďalším užitočným používateľským ovládacím prvkom je ovládací prvok Login na zozbieranie používateľských mien a hesiel.

VB UserCtrl4.aspx
Run Sample View Source

V tomto príklade sú pridávané formulárové validačné ovládacie prvky do používateľského ovládacieho prvku Login.

VB UserCtrl5.aspx
Run Sample View Source

Zapúzdrenie udalostí do používateľských ovládacích prvkov

Používateľské ovládacie prvky sa zúčastňujú na kompletnom priebehu životného cyklu požiadavky tak ako bežné serverové ovládacie prvky. Tým je myslené, že používateľské ovládacie prvky môžu zaobchádzať(handel) so svojími vlastnými udalosťami, zapúzdrujú niektoré zo stránkových logík obsahovanej stránky Web Form. Nasledujúci príklad demonštruje používateľský ovládaci prvok product-listing, ktorý interne zaobchádza(handles) so svojim vlastným postback-om. Poznámka: Samotný používateľský ovládací prvok nie je obalený ovládacím prvkom <form runat="server">. Pretože na stránke môže byť iba jeden ovládací prvok form (ASP.NET nepovoluje vnorené serverové formuláre), it is left to the containing Web Forms page to define this.

VB UserCtrl6.aspx
Run Sample View Source

Programové vytváranie používateľského ovládacieho prvku

Tak ako bežný serverový ovládaci prvok, tak aj používateľský ovládací prvok môže byť vytvorený programovo. Stránková metóda LoadControl sa používa na načítanie používateľského ovládacieho prvku prechádzajúc virtuálnu cestu k zdrojovému súboru používateľského ovládacieho prvku:


Dim c1 As Control = LoadControl("userctrl7.ascx")
CType(c1, (UserCtrl7)).Category = "business"
Page.Controls.Add(c1)
VB

Typ používateľského ovládacieho prvku je určený v atribúte ClassName direktívy Control. Napríklad používateľský ovládací prvok uložený pod názvom súboru "userctrl7.ascx" je podpísaný silným typom "UserCtrl7" nasledovným spôsobom:
<%@ Control ClassName="UserCtrl7" %>
Keďže metóda LoadControl vracia typ System.Web.UI.Control, musí byť smerovaná k silnému typu za účelom nastavenia individuálnych vlastností ovládacieho prvku. Nakoniec je používateľský ovládací prvok pridaný do ControlCollection základnej stránky.

VB UserCtrl7.aspx
Run Sample View Source

Dôležité Silný typ je pre používateľský ovládací prvok obsiahnutý v stránke Web Form prístupný len vtedy, ak je pre používateľský ovládací prvok obsiahnutá direktíva Register (aj keď nie sú momentálne deklarované žiadne tag-y používateľských ovládacích prvkov).
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.