Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo presenta ASP.NET controlli server, ad esempio controlli server HTML, controlli server Web, controlli elenco e così via.
Versione originale del prodotto: ASP.NET
Numero KB originale: 306459
Questo articolo fa riferimento agli spazi dei nomi della libreria di classi microsoft .NET Framework seguenti:
System.Web.UI.HtmlControls.HtmlControl
System.Web.UI.WebControls.WebControl
Controlli server nel framework di pagine ASP.NET
Il framework di pagina ASP.NET include numerosi controlli server predefiniti progettati per fornire un modello di programmazione più strutturato per il Web. Questi controlli forniscono le funzionalità seguenti:
- Gestione automatica dello stato.
- Accesso semplice ai valori degli oggetti senza dover usare l'oggetto
Request
. - Possibilità di reagire agli eventi nel codice lato server per creare applicazioni strutturate meglio.
- Approccio comune alla creazione di interfacce utente per le pagine Web.
- L'output viene personalizzato automaticamente in base alle funzionalità del browser.
Oltre ai controlli predefiniti, il framework di pagina ASP.NET offre anche la possibilità di creare controlli utente e controlli personalizzati. I controlli utente e i controlli personalizzati possono migliorare ed estendere i controlli esistenti per creare un'interfaccia utente molto più completa.
Controlli server HTML
I controlli server HTML sono elementi HTML che includono un runat=server
attributo. I controlli server HTML hanno lo stesso output HTML e le stesse proprietà dei tag HTML corrispondenti. Inoltre, i controlli server HTML forniscono eventi automatici di gestione dello stato e lato server. I controlli server HTML offrono i vantaggi seguenti:
- I controlli server HTML eseguono il mapping uno a uno con i tag HTML corrispondenti.
- Quando l'applicazione ASP.NET viene compilata, i controlli server HTML con l'attributo
runat=server
vengono compilati nell'assembly. - La maggior parte dei controlli include un
OnServerEvent
oggetto per l'evento più comunemente usato per il controllo . Ad esempio, il<input type=button>
controllo ha unOnServerClick
evento . - I tag HTML non implementati come controlli server HTML specifici possono comunque essere usati sul lato server; tuttavia, vengono aggiunti all'assembly come
HtmlGenericControl
. - Quando la pagina ASP.NET viene ripubblicata, i controlli server HTML mantengono i relativi valori.
La System.Web.UI.HtmlControls.HtmlControl
classe base contiene tutte le proprietà comuni. I controlli server HTML derivano da questa classe.
Per usare un controllo server HTML, utilizzare la sintassi seguente (che usa il HtmlInputText
controllo come esempio):
<input type="text" value="hello world" runat=server />
Per altre informazioni sui singoli controlli server HTML disponibili in ASP.NET, vedere i siti Web seguenti:
Controlli server Web
I controlli Web sono simili ai controlli server HTML, ad esempio Button, TextBox e Hyperlink, ad eccezione del fatto che i controlli Web hanno un set standardizzato di nomi di proprietà. I controlli server Web offrono i vantaggi seguenti:
- Rendere più semplice per i produttori e gli sviluppatori creare strumenti o applicazioni che generano automaticamente l'interfaccia utente.
- Semplificare il processo di creazione di web form interattivi, che richiede meno conoscenza del funzionamento dei controlli HTML e rende l'attività di usarli meno soggetti a errori.
La System.Web.UI.WebControls.WebControl
classe base contiene tutte le proprietà comuni. La maggior parte dei controlli server Web deriva da questa classe.
Per usare un controllo server Web, utilizzare la sintassi seguente , che usa il controllo TextBox come esempio:
<asp:textbox text="hello world" runat=server />
I controlli server Web possono essere suddivisi in quattro categorie:
- Controlli Web di base
- Controlli di convalida
- Controlli elenco
- Controlli avanzati
Controlli Web di base
I controlli Web di base forniscono le stesse funzionalità delle controparti del controllo server HTML. Tuttavia, i controlli Web di base includono metodi, eventi e proprietà aggiuntivi in base ai quali è possibile programmare.
Per altre informazioni sui singoli controlli Web disponibili in ASP.NET, vedere i siti Web seguenti:
Controlli di convalida
I controlli di convalida vengono usati per convalidare i valori immessi in altri controlli della pagina. I controlli di convalida eseguono la convalida lato client, la convalida lato server o entrambi, a seconda delle funzionalità del browser in cui viene visualizzata la pagina. I controlli di convalida offrono i vantaggi seguenti:
- È possibile associare uno o più controlli di convalida a ogni controllo da convalidare.
- La convalida viene eseguita quando viene inviato il modulo di pagina.
- È possibile specificare a livello di codice se deve verificarsi la convalida, utile se si vuole fornire un pulsante di annullamento in modo che l'utente possa uscire senza dover compilare dati validi in tutti i campi.
- I controlli di convalida rilevano automaticamente se la convalida deve essere eseguita sul lato client o sul lato server.
Note
Una convalida lato client rileva gli errori prima del completamento di un'operazione di postback. Pertanto, se sono presenti combinazioni di controlli di convalida lato client e lato server in una singola pagina, la convalida lato server verrà annullata se la convalida lato client non riesce. Per altre informazioni sui singoli controlli di convalida disponibili in ASP.NET, vedere i siti Web seguenti:
Controlli elenco
I controlli elenco sono controlli server Web speciali che supportano l'associazione alle raccolte. È possibile usare i controlli elenco per visualizzare righe di dati in un formato personalizzato del modello. Tutti i controlli elenco espongono le proprietà DataSource e DataMember, usate per l'associazione alle raccolte.
I controlli elenco possono essere associati solo a raccolte che supportano le interfacce IEnumerable, ICollection o IListSource. Ad esempio, una pagina di esempio .NET di Visual C# viene visualizzata come segue:
<%@ Page Language="C#" %>
<script runat="server">
Public void Page_Load()
{
String[] myStringArray = new String[] {"one","two","three"};
rptr.DataSource = myStringArray;
rptr.DataBind();
}
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
Una pagina di esempio .NET di Visual Basic viene visualizzata come segue:
<%@ Page Language="vb" %>
<script runat="server">
public sub Page_Load()
Dim myStringArray as String()
myStringArray = new String() {"one","two","three"}
rptr.DataSource = myStringArray
rptr.DataBind()
end sub
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
L'output viene visualizzato come segue:
- Uno
- Due
- tre
Per altre informazioni sui singoli controlli elenco disponibili in ASP.NET, vedere i siti Web seguenti:
Controlli avanzati
Oltre ai controlli precedenti, il framework della pagina ASP.NET fornisce alcuni controlli specifici dell'attività denominati controlli avanzati. I controlli avanzati vengono compilati con più elementi HTML e contengono funzionalità avanzate. Esempi di controlli avanzati sono il controllo Calendar e il controllo AdRotator.
Per altre informazioni sui singoli controlli avanzati disponibili in ASP.NET, vedere i siti Web seguenti:
Controlli utente
Spesso, è possibile riutilizzare l'interfaccia utente del Web Form senza dover scrivere codice aggiuntivo. ASP.NET consente di eseguire questa operazione convertendo i Web Form in controlli utente. I controlli utente, con estensione ascx, possono essere usati più volte all'interno di un singolo Web Form.
Per convertire un Web Form in un controllo utente, seguire questa procedura:
- Rimuovere tutti i
<html>
tag ,<head>
<body>
, e<form>
. - Se la
@ Page
direttiva viene visualizzata nella pagina, impostarla su@ Control
. - Includere un
className
attributo nella@ Control
direttiva in modo che il controllo utente venga tipizzato fortemente quando ne viene creata un'istanza. - Assegnare al controllo un nome di file descrittivo e modificare l'estensione del file da .aspx a ascx.
Per altre informazioni sui controlli utente, vedere Controlli utente Web Form.
Controlli personalizzati
Oltre ai controlli Web predefiniti, ASP.NET consente anche di creare controlli personalizzati. Può essere utile sviluppare controlli personalizzati se si riscontra uno di questi scenari:
- È necessario combinare la funzionalità di due o più controlli Web predefiniti.
- È necessario estendere la funzionalità di un controllo predefinito.
- È necessario un controllo diverso da uno dei controlli attualmente esistenti.
Per altre informazioni sullo sviluppo di controlli personalizzati, vedere gli argomenti seguenti: