Condividi tramite


Cenni preliminari sui controlli server Web pulsante

Aggiornamento: novembre 2007

Utilizzare i controlli server Web del pulsante ASP.NET per consentire agli utenti di inserire una pagina sul server e attivare un evento in una pagina.

Vengono illustrati i seguenti argomenti:

  • Informazioni di supporto

  • Esempi di codice

  • Riferimento delle classi

Informazioni di supporto

È possibile utilizzare il controllo server Web Button per consentire agli utenti di inserire una pagina sul server. Il controllo attiva un evento nel codice server che è possibile gestire per rispondere al postback. Un utente, ad esempio, può indicare che è stato completato un modulo o che si desidera eseguire un comando specifico.

ASP.NET include tre tipi di controlli pulsante, ciascuno dei quali viene visualizzato in maniera diversa sulle pagine Web, come illustrato nella seguente tabella:

Controllo

Descrizione

Button

Descrive un pulsante di comando standard, che viene visualizzato come un elemento HTML input.

LinkButton

Viene rappresentato come un collegamento ipertestuale nella pagina, ma contiene script sul lato client mediante il quale il form viene rinviato al server. Utilizzando il controllo server Web HyperLink, è possibile creare un collegamento ipertestuale effettivo.

ImageButton

Esegue il rendering un elemento grafico come pulsante. È utile per presentare un pulsante dall'aspetto complesso. Il controllo ImageButton fornisce anche informazioni sulle coordinate all'interno dell'elemento grafico dove ha fatto clic.

È inoltre possibile utilizzare i controlli HtmlButton e HtmlInputButton per creare nella pagina pulsanti programmabili nel codice server. Per informazioni dettagliate sulle differenze tra i controlli server Web e HTML, vedere Cenni preliminari sui controlli server Web ASP.NET.

Il controllo ImageMap consente di creare un elemento grafico dotato di aree sensibili su cui gli utenti possono fare clic su per eseguire un postback o un'altra azione.

Eventi Button

Quando un utente fa clic su un qualsiasi pulsante di controllo del server Web, la pagina viene inviata al server. La pagina Web viene quindi elaborata e tutti gli eventi in sospeso vengono generati nel codice server. I pulsanti possono anche generare eventi Click specifici, per i quali è possibile scrivere gestori eventi.

Convalida e controlli pulsante

Se nella pagina sono presenti controlli di convalida ASP.NET, il controllo di convalida eseguirà la verifica per impostazione predefinita al clic sul controllo pulsante. Se per un controllo è attivata la convalida sul lato client e la verifica ha esito negativo, la pagina non viene inviata.

Nella tabella seguente vengono descritte le proprietà supportate dai controlli pulsante che consentono di verificare il processo di convalida con più precisione.

Proprietà

Descrizione

CausesValidation

Specifica se al clic sul pulsante dovrà essere eseguita anche la verifica della convalida. Per impedire che la verifica della convalida venga eseguita, impostare questa proprietà su false.

ValidationGroup

Consente di specificare quali controlli di convalida presenti nella pagina devono essere chiamati al clic sul pulsante. Se non è stato stabilito alcun gruppo di convalida, al clic sul pulsante verranno chiamati tutti i controlli di convalida presenti nella pagina.

Per ulteriori informazioni, vedere Convalida dell'input utente nelle pagine Web ASP.NET.

Postback dei controlli pulsante

Quando un utente fa clic su un controllo pulsante, viene eseguito il postback della pagina al server. Per impostazione predefinita, la pagina viene inviata a se stessa. La medesima pagina viene quindi rigenerata e i gestori eventi per i controlli contenuti nella pagina vengono eseguiti.

È possibile configurare i pulsanti per inviare la pagina corrente a un'altra pagina. Questa operazione può essere utile per creare form a più pagine. Per informazioni dettagliate, vedere Cross-page posting nelle pagine Web ASP.NET.

Per impostazione predefinita, il controllo Button invia la pagina tramite un'operazione HTML POST. I controlli LinkButton e ImageButton non supportano direttamente l'operazione HTML POST. Quando vengono utilizzati, questi pulsanti aggiungono script client alla pagina, in modo che i controlli possano inviare la pagina a livello di codice. Per i controlli LinkButton e ImageButton è pertanto necessario che nel browser sia attivato lo script client.

In alcuni casi può essere opportuno che il controllo Button utilizzi script client anche per eseguire il postback, ad esempio quando si desidera modificare il postback a livello di codice per aggiungerlo ad altri elementi nella pagina. Impostare la proprietà UseSubmitBehavior del controllo Button su true affinché il controllo Button utilizzi il postback basato su script client.

Utilizzo di pulsanti con i controlli UpdatePanel

Il rendering a pagina parziale consente di aggiornare porzioni di una pagina senza un postback. I controlli UpdatePanel consentono di contrassegnare le parti coinvolte nel rendering a pagina parziale. Per impostazione predefinita, il comportamento dei controlli in un controllo UpdatePanel, inclusi i controlli Button deve eseguire un postback asincrono anziché un postback. Aggiorna solo il contenuto del controllo UpdatePanel da cui ha origine il postback.

Oltre allo scenario di un controllo Button incluso in un controllo UpdatePanel, è possibile utilizzare i controlli Button con i controlli UpdatePanel negli scenari seguenti:

  • Definizione di un controllo Button esterno a un controllo UpdatePanel come un controllo AsyncPostBackTrigger per il pannello. Quando si fa clic sul pulsante, viene eseguito un postback asincrono e quindi aggiornato il contenuto del pannello.

  • Definizione di un controllo Button incluso in un controllo UpdatePanel come un controllo PostBackTrigger per il pannello. Quando si fa clic sul pulsante, viene eseguito un postback anche se il pulsante è incluso in un controllo UpdatePanel.

Per ulteriori informazioni sul rendering a pagina parziale e l'utilizzo di controlli UpdatePanel, vedere Cenni preliminari sui controlli UpdatePanel e Cenni preliminari sul rendering a pagina parziale.

Gestione di eventi del lato client per i controlli pulsante

I controlli pulsante possono generare sia eventi lato client che eventi lato server. Questi ultimi si verificano dopo un postback e vengono gestiti nel codice del lato server scritto per la pagina. Gli eventi lato client sono gestiti in script client, in genere ECMAScript (JavaScript), e vengono generati prima dell'invio della pagina. Aggiungendo eventi lato client ai controlli pulsante ASP.NET, è possibile eseguire alcune attività, ad esempio visualizzare le finestre di dialogo prima dell'invio della pagina ed eventualmente annullare l'operazione di invio. Per informazioni dettagliate, vedere Script client nelle pagine Web ASP.NET e Procedura: rispondere a eventi del controllo server Web Button in script client.

Controlli pulsante in controlli dati

I controlli server Web pulsante vengono utilizzati di frequente nei controlli dati, ad esempio nei controlli elenco DataList, GridView e Repeater. In questi casi l’utente non risponde direttamente all'evento del clic sui pulsanti. Invece, un pulsante in un controllo dati genera un evento specifico del controllo dati. In un controllo DataList, ad esempio, un pulsante può generare l'evento ItemCommand del controllo DataList anziché l'evento Click del controllo Button.

Poiché nei controlli elenco con associazione dati possono essere contenuti molti pulsanti, è possibile impostare la proprietà CommandArgument del pulsante in modo che venga specificato un valore da passare come parte dell'evento. È quindi possibile eseguire un test di tale argomento per verificare quale pulsante è stato scelto.

Associazione di dati ai controlli

È possibile associare i controlli server Web pulsante a un'origine dati per controllare le impostazioni delle proprietà in modo dinamico. È ad possibile impostare la proprietà Text del pulsante tramite l'associazione dati.

Esempi di codice

Procedura: aggiungere controlli server Web pulsante a una pagina Web Form (Visual Studio)

Procedura: aggiungere controlli server Web ImageButton a una pagina Web Form (Visual Studio)

Procedura: determinare le coordinate in un controllo server Web ImageButton

Procedura: rispondere a eventi del controllo server Web Button

Procedura: rispondere a eventi del controllo server Web Button in script client

Torna all'inizio

Riferimento delle classi

Nella tabella riporta di seguito sono elencate le classi principali correlate ai controlli pulsante.

Membro

Descrizione

Button, LinkButton, ImageButton

Le classi principali per i controlli del pulsante.

Torna all'inizio

Vedere anche

Attività

Procedura: aggiungere eventi di script client ai controlli server Web ASP.NET

Concetti

Script client nelle pagine Web ASP.NET

Cross-page posting nelle pagine Web ASP.NET