Tutorial ASP.NET Web Forms: Exemple de controale utilizator
โก Rezumat inteligent
Controalele utilizator ASP.NET Web Forms vฤ permit sฤ construiศi componente UI reutilizabile o singurฤ datฤ ศi sฤ le utilizaศi pe mai multe pagini. Aratฤ cum se creeazฤ un control utilizator, cum se รฎnregistreazฤ pe o paginฤ ศi global รฎn web.config ศi cum se adaugฤ proprietฤศi publice.
รn ASP.Net, este posibil sฤ creaศi cod reutilizabil. Codul reutilizabil poate fi folosit รฎn multe locuri fฤrฤ a fi nevoie sฤ scrieศi din nou codul.
Codul reutilizabil ajutฤ la reducerea timpului petrecut de dezvoltator dupฤ scrierea codului. Poate fi realizat o singurฤ datฤ ศi reutilizat รฎn mai multe locuri.
Creaศi controlul utilizatorului รฎn ASP.Net
ASP.Net are capacitatea de a crea controale web. Aceste controale conศin cod care poate fi reutilizat. Poate fi utilizat รฎn รฎntreaga aplicaศie, รฎn funcศie de cerinศe.
Sฤ aruncฤm o privire la un exemplu despre cum putem crea un control utilizator web รฎn ASP.Net.
รn exemplul nostru:
- Vom crea un control web.
- Acesta va fi folosit pentru a crea o componentฤ antet.
- Va conศine textul menศionat mai jos: โGuruโ99 de tutorialeโ ศi โAcest tutorial este pentru ASP.Netโ.
Sฤ lucrฤm cu aplicaศia noastrฤ web actualฤ creatฤ รฎn secศiunile anterioare. Sฤ urmฤm paศii de mai jos pentru a crea un control de utilizator Web.
Pas 1) Primul pas este sฤ creaศi un control de utilizator web ศi sฤ รฎl adฤugaศi la soluศia noastrฤ Visual Studio.
- Accesaศi Exploratorul de soluศii din Visual Studio ศi faceศi clic dreapta pe soluศia DemoApplication.
- Selectaศi elementul de meniu Adฤugare->Element nou.
Pas 2) รn pasul urmฤtor, trebuie sฤ alegem opศiunea de a crea un control pentru utilizatorii web.
- รn caseta de dialog al proiectului, putem vedea diverse opศiuni pentru crearea diferitelor tipuri de componente. Faceศi clic pe opศiunea โWebโ din partea stรขngฤ.
- Cรขnd facem clic pe opศiunea โWebโ, vedeศi o opศiune pentru โControlul utilizatorilor formularelor Webโ. Faceศi clic pe aceastฤ opศiune.
- Apoi dฤm un nume pentru Controlul Web, โGuruโ99Controlโ.
- รn cele din urmฤ, faceศi clic pe butonul โAdฤugaศiโ pentru a permite Visual Studio sฤ adauge controlul utilizatorului web la soluศia noastrฤ.
Veศi vedea apoi โGuruโ99Controlโ adฤugat la soluศie.
Pas 3) Acum este momentul sฤ adฤugฤm codul personalizat la controlul utilizatorului web. Codul nostru se va baza pe sintaxa HTML purฤ. Adฤugaศi urmฤtorul cod la 'GuruFiศierul 99Control.ascx'.
<table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for</td> </tr> </table>
Code Explicaลฃie:-
- รn fiศierul nostru Web Control, creฤm mai รฎntรขi un element de tabel. Acesta va fi folosit pentru a conศine 2 rรขnduri de text care vor afiศa โGuruโ99 de tutorialeโ ศi โAcest tutorial este pentru ASP.Netโ.
- Apoi, definim primul rรขnd din tabel ศi punem textul ca โGuru99 de tutoriale.
- Apoi definim al doilea rรขnd de tabel ศi punem textul ca โAcest tutorial este pentru ASP.Netโ.
NOTฤ: Acum nu putem executa acest cod ศi afiศa rezultatul. Singura modalitate de a vedea dacฤ funcศioneazฤ este sฤ รฎl includem รฎn aplicaศia noastrฤ (fiศier aspx). Vom vedea acest lucru รฎn subiectul urmฤtor.
รnregistrarea controalelor utilizator รฎntr-un formular web ASP.NET
รn secศiunea anterioarฤ, am vฤzut cum putem crea un control web personalizat. Acesta poate fi folosit pentru a afiศa urmฤtoarele douฤ linii รฎntr-un formular web:
- Guruโ99 de tutorialeโ
- โAcest tutorial este pentru ASP.Net.โ
Odatฤ ce โcontrolulโ personalizat este creat, trebuie sฤ รฎl folosim รฎn aplicaศia noastrฤ web. Primul pas este sฤ รฎnregistrฤm componenta รฎn aplicaศia noastrฤ (Demo.aspx). Aceasta este condiศia prealabilฤ pentru a utiliza orice control web personalizat รฎntr-o aplicaศie ASP.Net.
Sฤ vedem cum putem realiza acest lucru. Paศii de mai jos sunt o continuare a secศiunii anterioare, รฎn care am creat controlul nostru personalizat. รn aceastฤ secศiune, vom folosi controlul รฎn Demo.aspx formular web. Mai รฎntรขi, vom รฎnregistra โcontrolulโ nostru personalizat รฎn fiศierul Demo.aspx.
Pas 1) Asiguraศi-vฤ cฤ lucraศi la fiศierul demo.aspx. รn acest fiศier va fi รฎnregistrat controlul utilizatorului web. Acest lucru se poate face fฤcรขnd dublu clic pe fiศierul demo.aspx รฎn Solution Explorer al soluศiei dvs. .Net.
Dupฤ ce faceศi dublu clic pe formular, probabil veศi vedea codul de mai jos รฎn formular. Acesta este codul implicit adฤugat de Visual Studio atunci cรขnd un formular web este adฤugat la un proiect ASP.Net. Codul implicit constฤ รฎn paศii necesari pentru a asigura cฤ formularul poate rula ca formular web ASP.Net รฎn browser.
Pas 2) Acum haideศi sฤ adฤugฤm codul nostru pentru a รฎnregistra controlul utilizatorului. Captura de ecran de mai jos aratฤ รฎnregistrarea controlului utilizatorului adฤugatฤ la codul de bazฤ de mai sus.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <%@ Register Src="~/Guru99Control.ascx" TagName="WebControl" TagPrefix="TWebControl" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Code Explicaลฃie:-
- Primul pas este รฎnregistrarea controlului utilizatorului web. Aceasta cuprinde urmฤtorii parametri de bazฤ:
- Cuvรขntul cheie โรnregistrareโ este folosit pentru a รฎnregistra controlul utilizatorului web.
- Parametrul Src este utilizat pentru a defini numele controlului, care รฎn cazul nostru este Guru99Control.ascx.
- TagName ศi TagPrefix sunt nume individuale atribuite controlului. Acest lucru se face pentru ca acestea sฤ poatฤ fi referenศiate รฎn paginile HTML ca un control HTML normal.
- Apoi, facem referire la controlul nostru de utilizator web prin intermediul TagPrefix:TagName, care a fost atribuit anterior. TagPrefix:TagName este un indicator cฤ dorim sฤ utilizฤm controlul nostru web personalizat. Cรขnd pagina este procesatฤ de serverul web, puteศi vedea cฤ am utilizat eticheta TWebControl:WebControl. Aceasta va procesa apoi โGuruโ99Controlโ รฎn consecinศฤ.
- Controlului โAntetโ i se atribuie un ID opศional. รn general, este o practicฤ bunฤ sฤ se atribuie un ID unui control HTML.
- รn cele din urmฤ, atributul runat=โserverโ asigurฤ cฤ controlul va rula pe serverul web. Pentru toate controalele ASP.Net, acesta este atributul implicit. Toate controalele ASP.Net (inclusiv controalele personalizate) trebuie sฤ ruleze pe server. Rezultatul lor este apoi trimis de la server la client ศi afiศat รฎn browser รฎn mod corespunzฤtor.
Cรขnd codul de mai sus este setat ศi proiectul este executat folosind Visual Studio, veศi obศine rezultatul de mai jos.
Ieศire: -
Mesajul de ieศire afiศat รฎn browser aratฤ cฤ controlul utilizatorului web a fost executat cu succes.
รnregistrarea globalฤ a controalelor ASP.Net รฎn fiศierul de configurare web.config
Uneori, cineva ar putea dori sฤ utilizeze controale utilizator pe mai multe pagini รฎntr-o aplicaศie .Net. รn acest moment, nu este necesar sฤ รฎnregistraศi controale utilizator pe fiecare paginฤ ASP.Net.
- รn .Net puteศi efectua รฎnregistrarea รฎn fiศierul 'web.config'.
- Fiศierul web.config este un fiศier de configurare comun utilizat de toate paginile web dintr-un proiect .Net.
- Conศine detaliile de configurare necesare pentru proiectul web ASP.Net. De exemplu, o configuraศie comunฤ รฎn fiศierul web.config este parametrul cadru ศintฤ.
- Acest parametru este utilizat pentru a identifica versiunea .Net framework utilizatฤ de aplicaศie.
Mai jos este un instantaneu al codului implicit din fiศierul web.config. Partea evidenศiatฤ este partea cadru ศintฤ.
Sฤ vedem cum ne putem รฎnregistra Guru99Control รฎn fiศierul web.config.
Pas 1) Deschideศi fiศierul web.config din Solution Explorer fฤcรขnd dublu clic pe fiศier.
Cรขnd deschideศi fiศierul web.config, este posibil sฤ vedeศi configuraศia de mai jos. โweb.configโ este adฤugat automat de Visual Studio atunci cรขnd proiectul este creat. Aceasta este configuraศia de bazฤ necesarฤ pentru ca proiectul ASP.Net sฤ funcศioneze corect.
Pas 2) Acum sฤ รฎnregistrฤm componenta noastrฤ รฎn fiศierul web.config. Trebuie sฤ adฤugฤm rรขndurile de mai jos pentru asta.
<configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <pages> <controls> <add tagPrefix="TWebControl" src="~/Guru99Control.ascx" tagName="WebControl" /> </controls> </pages> </system.web> </configuration>
รnregistrarea cuprinde urmฤtoarele sub-etape:
- Adฤugaศi o etichetฤ numitฤ . รnseamnฤ cฤ toatฤ configuraศia pentru controale va fi aplicabilฤ tuturor paginilor ASP.Net din soluศie.
- The eticheta รฎnseamnฤ cฤ adฤugaศi o configuraศie pentru controlul utilizatorului.
- Apoi รฎnregistrฤm controlul utilizatorului cu eticheta suplimentarฤ. Parametrii rฤmaศi tagPrefix, tagName ศi src rฤmรขn aceiaศi ca รฎnainte.
Pas 3) Nu uitaศi sฤ accesaศi pagina โdemo.aspxโ ศi sฤ eliminaศi liniile pentru controlul care conศinea รฎnregistrarea GuruComponenta 99. Dacฤ nu efectuaศi acest pas, atunci 'GuruFiศierul โ99Control.ascxโ va fi executat din fiศierul โdemo.aspxโ รฎn loc de fiศierul โweb.configโ.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <TWebControl:WebControl ID="Header" runat="server" /> </form> </body> </html>
Dupฤ ce codul de mai sus este setat ศi proiectul este executat folosind Visual Studio, veศi obศine rezultatul de mai jos.
Ieศire: -
Mesajul de ieศire aratฤ cฤ controlul utilizatorului web a fost executat cu succes.
Adฤugarea de proprietฤศi publice la un control web
O proprietate este o pereche cheie-valoare asociatฤ cu orice control. Sฤ luฤm un exemplu simplu Etichetฤ HTML. O capturฤ de ecran cu aspectul etichetei este prezentatฤ mai jos.
<html> <body> <div style="color:#0000FF"> Demo Form </div> </body> </html>
Eticheta โdivโ este folositฤ pentru a crea o secศiune รฎntr-un document HTML. Eticheta โdivโ are o proprietate numitฤ proprietate de stil. Aceasta poate fi folositฤ pentru a da un stil diferit textului afiศat รฎn eticheta div. รn mod normal, veศi vedea codul pentru eticheta div, aศa cum se aratฤ mai jos.
<div style="color:#0000FF">
Deci, atributul de culoare nu este altceva decรขt o pereche cheie-valoare care oferฤ mai multe informaศii despre eticheta รฎn sine. รn cazul de mai sus, numele cheii este โstilโ, iar valoarea cheii este โculoare:#0000FFโ.
รn mod similar, pentru controalele utilizatorului, puteศi crea propriile proprietฤศi care descriu controlul.
Sฤ luฤm un exemplu simplu ศi sฤ construim pe baza acestui exemplu.Guruโ99Controlโ creat รฎn secศiunile anterioare. รn exemplul nostru, vom adฤuga o proprietate รฎntreagฤ simplฤ numitฤ MinValue. Aceastฤ valoare ar reprezenta numฤrul minim de caractere din textul afiศat รฎn controlul utilizator.
Sฤ efectuฤm paศii menศionaศi mai jos pentru a pune acest lucru รฎn aplicare.
Pas 1) Deschideศi GuruFiศierul 99Control.ascx. Adฤugaศi codul pentru adฤugarea proprietฤศii MinValue.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %> <script runat="server"> public int MinValue = 0; </script> <table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for</td> </tr> </table>
Code Explicaลฃie:-
Atributul scriptului runat=โserverโ este folosit pentru a indica faptul cฤ adฤugฤm cod specific .Net ศi cฤ acesta trebuie rulat pe serverul web. Acest lucru este necesar pentru procesarea oricฤrei proprietฤศi adฤugate la controlul utilizatorului. Apoi adฤugฤm proprietatea noastrฤ MinValue ศi รฎi atribuim valoarea implicitฤ 0.
Pas 2) Acum sฤ facem referire la aceastฤ proprietate รฎn fiศierul nostru demo.aspx. Tot ce facem acum este doar sฤ facem referinศฤ la proprietatea MinValue ศi sฤ atribuim o nouฤ valoare de 100.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <TWebControl:WebControl ID="Header" runat="server" MinValue="100" /> </form> </body> </html>
NOTฤ: Cรขnd rulaศi acest cod, nu va afiศa nicio ieศire. Acest lucru se datoreazฤ faptului cฤ ieศirea se รฎncadreazฤ sub limita de 100 de caractere.



















