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.

  • โ™ป๏ธ Reutilizabile Code: Utilizatorul controleazฤƒ marcajul ศ™i logica pachetului o singurฤƒ datฤƒ pentru reutilizare รฎn cadrul unei aplicaศ›ii.
  • ๐Ÿ› ๏ธ Creaศ›i controlul: Adฤƒugaศ›i un control utilizator Web Forms (.ascx) รฎn Visual Studio ศ™i adฤƒugaศ›i markup-ul sฤƒu.
  • ๐Ÿ“ รŽnregistraศ›i-vฤƒ pe pagina: Foloseศ™te directiva Register cu Src, TagName ศ™i TagPrefix pentru a o utiliza pe o singurฤƒ paginฤƒ.
  • ???? รŽnregistrare globalฤƒ: Adฤƒugaศ›i controlul รฎn fiศ™ierul pages/controls din web.config pentru a-l utiliza pe fiecare paginฤƒ.
  • ๐Ÿ”ง Proprietฤƒศ›i publice: Expuneศ›i proprietฤƒศ›i precum MinValue astfel รฎncรขt paginile sฤƒ poatฤƒ configura comportamentul controlului.

Tutorial ASP.NET Web Forms: Exemple de controale utilizator

รŽ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.

Creaศ›i controlul utilizatorului รฎn ASP.Net

  1. Accesaศ›i Exploratorul de soluศ›ii din Visual Studio ศ™i faceศ›i clic dreapta pe soluศ›ia DemoApplication.
  2. 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.

Creaศ›i controlul utilizatorului รฎn ASP.Net

  1. รŽ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ฤƒ.
  2. 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.
  3. Apoi dฤƒm un nume pentru Controlul Web, โ€žGuruโ€ž99Controlโ€.
  4. รŽ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.

Creaศ›i controlul utilizatorului รฎn ASP.Net

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'.

Creaศ›i controlul utilizatorului รฎn ASP.Net

<table>
	<tr>
	  <td>Guru99 Tutorials</td>
	</tr>

	<tr>
	  <td> This Tutorial is for</td>
	</tr>
</table>

Code Explicaลฃie:-

  1. รŽ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โ€.
  2. Apoi, definim primul rรขnd din tabel ศ™i punem textul ca โ€žGuru99 de tutoriale.
  3. 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.

รŽnregistrarea controalelor utilizator รฎntr-un formular web 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.

รŽnregistrarea controalelor utilizator รฎntr-un formular web ASP.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.

รŽnregistrarea controalelor utilizator รฎntr-un formular web ASP.NET

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.

รŽnregistrarea controalelor utilizator รฎntr-un formular web ASP.NET

<%@ 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:-

  1. Primul pas este รฎnregistrarea controlului utilizatorului web. Aceasta cuprinde urmฤƒtorii parametri de bazฤƒ:
    1. Cuvรขntul cheie โ€žรŽnregistrareโ€ este folosit pentru a รฎnregistra controlul utilizatorului web.
    2. Parametrul Src este utilizat pentru a defini numele controlului, care รฎn cazul nostru este Guru99Control.ascx.
    3. 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.
  2. 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ศ›ฤƒ.
    1. Controlului โ€žAntetโ€ i se atribuie un ID opศ›ional. รŽn general, este o practicฤƒ bunฤƒ sฤƒ se atribuie un ID unui control HTML.
    2. รŽ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: -

รŽnregistrarea controalelor utilizator รฎntr-un formular web ASP.NET

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ฤƒ.

รŽnregistrarea controalelor ASP.Net la nivel global รฎn web.config

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.

รŽnregistrarea controalelor ASP.Net la nivel global รฎn web.config

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.

รŽnregistrarea controalelor ASP.Net la nivel global รฎn web.config

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.

รŽnregistrarea controalelor ASP.Net la nivel global รฎn web.config

<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:

  1. Adฤƒugaศ›i o etichetฤƒ numitฤƒ . รŽnseamnฤƒ cฤƒ toatฤƒ configuraศ›ia pentru controale va fi aplicabilฤƒ tuturor paginilor ASP.Net din soluศ›ie.
  2. The eticheta รฎnseamnฤƒ cฤƒ adฤƒugaศ›i o configuraศ›ie pentru controlul utilizatorului.
  3. 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โ€.

รŽnregistrarea controalelor ASP.Net la nivel global รฎn 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: -

รŽnregistrarea controalelor ASP.Net la nivel global รฎn web.config

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.

Adฤƒugarea de proprietฤƒศ›i publice la un control web

<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.

Adฤƒugarea de proprietฤƒศ›i publice la un control web

<%@ 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.

Adฤƒugarea de proprietฤƒศ›i publice la un control web

<!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.

รŽntrebฤƒri frecvente

Da. Asistenศ›ii inteligenศ›i artificiali pot genera markup-ul .ascx, code-behind-ul ศ™i directiva Register dintr-o descriere a componentei reutilizabile. RevVizualizaศ›i valorile TagPrefix, TagName ศ™i Src generate pentru a vฤƒ asigura cฤƒ corespund proiectului dvs.

Parศ›ial. IA poate ajuta la traducerea unui control utilizator .ascx รฎntr-o componentฤƒ ASP.NET Core Razor sau o vizualizare parศ›ialฤƒ ศ™i poate semnala diferenศ›ele din model. Migrฤƒrile necesitฤƒ รฎn continuare testare manualฤƒ, deoarece framework-urile gestioneazฤƒ starea ศ™i evenimentele รฎn mod diferit.

Un control utilizator (.ascx) este construit din controale existente ศ™i este uศ™or de creat, dar legat de un singur proiect. Un control personalizat este compilat รฎntr-un DLL, mai greu de construit, dar reutilizabil รฎn mai multe proiecte ศ™i disponibil รฎn caseta de instrumente.

รŽnregistraศ›i-vฤƒ pe o singurฤƒ paginฤƒ atunci cรขnd doar acea paginฤƒ utilizeazฤƒ controlul. รŽnregistraศ›i-vฤƒ รฎn web.config atunci cรขnd controlul este utilizat pe mai multe pagini, astfel รฎncรขt sฤƒ evitaศ›i repetarea directivei Register pe fiecare paginฤƒ.

Rezumaศ›i aceastฤƒ postare cu: