Esercitazione sui Web Form ASP.NET: esempi di controlli utente
โก Riepilogo intelligente
I controlli utente di ASP.NET Web Forms consentono di creare componenti dell'interfaccia utente riutilizzabili una sola volta e di utilizzarli in piรน pagine. Questa guida mostra come creare un controllo utente, registrarlo in una pagina e a livello globale nel file web.config e aggiungere proprietร pubbliche.
In ASP.Net รจ possibile creare codice riutilizzabile. Il codice riutilizzabile puรฒ essere utilizzato in molti posti senza la necessitร di riscrivere il codice.
Il codice riutilizzabile aiuta a ridurre il tempo impiegato dallo sviluppatore dopo aver scritto il codice. Puรฒ essere scritto una sola volta e riutilizzato in piรน punti.
Crea controllo utente in ASP.Net
ASP.Net offre la possibilitร di creare controlli Web. Questi controlli contengono codice riutilizzabile, che puรฒ essere impiegato in tutta l'applicazione a seconda delle esigenze.
Vediamo un esempio di come creare un controllo utente web in ASP.Net.
Nel nostro esempio:
- Creeremo un controllo web.
- Verrร utilizzato per creare un componente di intestazione.
- Conterrร il testo seguente: โGuru99 Tutorialโ e โQuesto tutorial รจ per ASP.Netโ.
Lavoriamo con la nostra attuale applicazione web creata nelle sezioni precedenti. Seguiamo i passaggi seguenti per creare un controllo utente Web.
Passo 1) Il primo passo รจ creare un controllo utente Web e aggiungerlo alla nostra soluzione Visual Studio.
- In Visual Studio, apri Esplora soluzioni e fai clic con il pulsante destro del mouse sulla soluzione DemoApplication.
- Seleziona la voce di menu Aggiungi->Nuovo elemento.
Passo 2) Nel passaggio successivo, dobbiamo scegliere l'opzione di creazione di un controllo utente web.
- Nella finestra di dialogo del progetto, possiamo vedere varie opzioni per creare diversi tipi di componenti. Clicca sull'opzione "Web" sul lato sinistro.
- Quando si fa clic sull'opzione "Web", viene visualizzata l'opzione "Controllo utente moduli Web". Fare clic su questa opzione.
- Diamo quindi un nome al controllo Web, "Guru99Controlโ.
- Infine, fare clic sul pulsante "Aggiungi" per consentire a Visual Studio di aggiungere il controllo utente Web alla nostra soluzione.
Vedrai quindi il "Guru99Control รจ stato aggiunto alla soluzione.
Passo 3) Ora รจ il momento di aggiungere il codice personalizzato al controllo utente Web. Il nostro codice sarร basato sulla sintassi HTML pura. Aggiungi il seguente codice a 'GuruFile '99Control.ascx'.
<table> <tr> <td>Guru99 Tutorials</td> </tr> <tr> <td> This Tutorial is for</td> </tr> </table>
Code Spiegazione:-
- Nel nostro file Web Control, creiamo innanzitutto un elemento tabella. Questo verrร utilizzato per contenere 2 righe di testo che visualizzeranno โGuru99 Tutorialโ e โQuesto tutorial รจ per ASP.Net.โ
- Successivamente, definiamo la nostra prima riga della tabella e inseriamo il testo come "Guru99 tutorial.
- Definiamo quindi la nostra seconda riga della tabella e inseriamo il testo come "Questo tutorial รจ per ASP.Net".
NOTA: Al momento non possiamo eseguire questo codice e visualizzarne l'output. L'unico modo per verificare se funziona รจ includerlo nella nostra applicazione (file aspx). Vedremo come fare nell'argomento successivo.
Registrazione dei controlli utente in un modulo web ASP.NET
Nella sezione precedente, abbiamo visto come creare un controllo web personalizzato. Questo puรฒ essere utilizzato per visualizzare le due righe seguenti in un modulo web:
- "Guru99 tutorialโ
- "Questo tutorial รจ per ASP.Net."
Una volta creato il controllo personalizzato, dobbiamo utilizzarlo nella nostra applicazione web. Il primo passo consiste nel registrare il componente nella nostra applicazione (Demo.aspx). Questo รจ un prerequisito per utilizzare qualsiasi controllo web personalizzato in un'applicazione ASP.Net.
Vediamo come possiamo raggiungere questo obiettivo. I passaggi seguenti sono la continuazione della sezione precedente, in cui abbiamo creato il nostro controllo personalizzato. In questa sezione, useremo il controllo nel nostro Demo.aspx modulo web. Per prima cosa, registreremo il nostro 'controllo' personalizzato nel file Demo.aspx.
Passo 1) Assicurati di lavorare sul file demo.aspx. ร in questo file che verrร registrato il controllo utente web. Puoi farlo facendo doppio clic sul file demo.aspx in Esplora soluzioni della tua soluzione .Net.
Facendo doppio clic sul modulo, probabilmente visualizzerete il codice seguente. Si tratta del codice predefinito aggiunto da Visual Studio quando si aggiunge un modulo Web a un progetto ASP.Net. Il codice predefinito comprende i passaggi necessari per garantire che il modulo possa essere eseguito come modulo Web ASP.Net nel browser.
Passo 2) Ora aggiungiamo il nostro codice per registrare il controllo utente. Lo screenshot qui sotto mostra la registrazione del controllo utente aggiunta al codice base precedente.
<%@ 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 Spiegazione:-
- Il primo passo consiste nella registrazione del controllo utente web. Questa operazione comprende i seguenti parametri di base:
- La parola chiave "Register" viene utilizzata per registrare il controllo utente Web.
- Il parametro Src viene utilizzato per definire il nome del controllo, che nel nostro caso รจ Guru99Control.ascx.
- TagName e TagPrefix sono nomi individuali assegnati al controllo. Questo viene fatto affinchรฉ possano essere referenziati nelle pagine HTML come un normale controllo HTML.
- Successivamente, facciamo riferimento al nostro controllo utente Web tramite il TagPrefix:TagName che รจ stato assegnato in precedenza. Il TagPrefix:TagName indica che vogliamo utilizzare il nostro controllo Web personalizzato. Quando la pagina viene elaborata dal server Web, puoi vedere che abbiamo utilizzato il tag TWebControl:WebControl. Verrร quindi elaborato il 'Guru99Control' di conseguenza.
- Al controllo "Header" viene assegnato un ID facoltativo. In generale, รจ buona norma assegnare un ID a un controllo HTML.
- Infine, l'attributo runat="server" garantisce che il controllo venga eseguito sul server web. Per tutti i controlli ASP.Net, questo รจ l'attributo predefinito. Tutti i controlli ASP.Net (inclusi i controlli personalizzati) devono essere eseguiti sul server. Il loro output viene quindi inviato dal server al client e visualizzato di conseguenza nel browser.
Quando viene impostato il codice precedente e il progetto viene eseguito utilizzando Di Visual Studio, otterrai l'output seguente.
Produzione:-
Il messaggio di output visualizzato nel browser mostra che il controllo utente Web รจ stato eseguito correttamente.
Registrazione globale dei controlli ASP.Net nel file di configurazione web.config
A volte puรฒ essere necessario utilizzare controlli utente su piรน pagine in un'applicazione .Net. In questo caso, non si desidera registrare i controlli utente su ogni singola pagina ASP.Net.
- In .Net รจ possibile effettuare la registrazione nel file 'web.config'.
- Il file web.config รจ un file di configurazione comune utilizzato da tutte le pagine web in un progetto .Net.
- Contiene i dettagli di configurazione necessari per il progetto web ASP.Net. Ad esempio, una configurazione comune nel file web.config รจ la parametro del quadro di destinazione.
- Questo parametro viene utilizzato per identificare la versione di .Net Framework utilizzata dall'applicazione.
Di seguito รจ riportata un'istantanea del codice predefinito nel file web.config. La parte evidenziata รจ la parte del framework di destinazione.
Vediamo come possiamo registrare il nostro Guru99Controllo nel file web.config.
Passo 1) Apri il file web.config da Esplora soluzioni facendo doppio clic sul file.
Quando apri il file web.config, potresti vedere la configurazione sottostante. Il file 'web.config' viene aggiunto automaticamente da Visual Studio quando viene creato il progetto. Questa รจ la configurazione di base richiesta per far funzionare correttamente il progetto ASP.Net.
Passo 2) Ora registriamo il nostro componente nel file web.config. Dobbiamo aggiungere le righe seguenti per questo.
<configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <pages> <controls> <add tagPrefix="TWebControl" src="~/Guru99Control.ascx" tagName="WebControl" /> </controls> </pages> </system.web> </configuration>
La procedura di registrazione si articola nelle seguenti fasi:
- Aggiungi un tag chiamato . Ciรฒ significa che tutta la configurazione dei controlli sarร applicabile a tutte le pagine ASP.Net nella soluzione.
- IL tag significa che stai aggiungendo una configurazione per il controllo utente.
- Successivamente registriamo il controllo utente con il tag aggiuntivo. I parametri rimanenti tagPrefix, tagName e src restano invariati rispetto a prima.
Passo 3) Ricordati di andare alla pagina 'demo.aspx' e rimuovere le righe per il controllo che aveva la registrazione del Guru99 componente. Se non esegui questo passaggio, allora il 'GuruIl file '99Control.ascx' verrร eseguito dal file 'demo.aspx' anzichรฉ dal file '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>
Una volta impostato il codice sopra riportato ed eseguito il progetto tramite Visual Studio, si otterrร l'output seguente.
Produzione:-
Il messaggio di output mostra che il controllo utente Web รจ stato eseguito correttamente.
Aggiunta di proprietร pubbliche a un controllo Web
Una proprietร รจ una coppia chiave-valore associata a qualsiasi controllo. Prendiamo come esempio il semplice Tag HTML. Di seguito รจ riportata una schermata di come appare il tag.
<html> <body> <div style="color:#0000FF"> Demo Form </div> </body> </html>
Il tag 'div' viene utilizzato per creare una sezione in un documento HTML. Il tag "div" ha una proprietร chiamata proprietร di stile. Questo puรฒ essere usato per dare uno stile diverso al testo visualizzato nel tag div. Normalmente vedresti il โโcodice per il tag div come mostrato di seguito.
<div style="color:#0000FF">
Quindi l'attributo color non รจ altro che una coppia chiave-valore che fornisce maggiori informazioni sul tag stesso. Nel caso precedente, il nome della chiave รจ "style" e il valore della chiave รจ "color:#0000FF".
Allo stesso modo, per i controlli utente, puoi creare le tue proprietร che descrivono il controllo.
Prendiamo un semplice esempio e costruiamo sul nostro 'Guru'99Control' creato nelle sezioni precedenti. Nel nostro esempio, aggiungeremo una semplice proprietร intera chiamata MinValue. Questo valore rappresenterร il numero minimo di caratteri nel testo visualizzato nel controllo utente.
Eseguiamo i passaggi indicati di seguito per metterlo in atto.
Passo 1) Aprire il GuruFile 99Control.ascx. Aggiungere il codice per aggiungere la proprietร 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 Spiegazione:-
L'attributo `script runat="server"` viene utilizzato per indicare che stiamo aggiungendo del codice specifico di .NET e che questo deve essere eseguito sul server web. Ciรฒ รจ necessario per elaborare qualsiasi proprietร aggiunta al controllo utente. Aggiungiamo quindi la nostra proprietร MinValue e le assegniamo un valore predefinito di 0.
Passo 2) Ora facciamo riferimento a questa proprietร nel file demo.aspx. Tutto quello che stiamo facendo ora รจ semplicemente fare riferimento alla proprietร MinValue e assegnare un nuovo valore pari a 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>
NOTA: Quando si esegue questo codice, non verrร visualizzato alcun output. Questo perchรฉ l'output non raggiunge il limite di 100 caratteri.



















