Condividi tramite


Cenni preliminari sui controlli Extender ASP.NET AJAX

Aggiornamento: novembre 2007

I controlli Extender ASP.NET AJAX migliorano le funzionalità client dei controlli server Web ASP.NET standard. È possibile utilizzare i controlli server Web standard, ad esempio i controlli TextBox, Button e Panel, insieme a uno o più controlli Extender per consentire agli utenti di sfruttare al meglio il browser. Ad esempio, per consentire agli utenti di verificare un form prima di inviarlo al server, è possibile utilizzare un controllo Extender per aggiungere la funzionalità client a un controllo Button.

In Visual Studio è possibile aggiungere e utilizzare i controlli Extender ASP.NET AJAX esattamente come gli altri controlli. È possibile creare controlli Extender personalizzati o utilizzare quelli da altre origini.

Un'origine per i controlli Extender è l'ASP.NET AJAX Control Toolkit, che fornisce esempi e un SDK che consentono di creare e riutilizzare i controlli personalizzati e i controlli Extender. È possibile scaricare l'ASP.NET AJAX Control Toolkit dal sito Web ASP.NET AJAX .

Nota importante:

L'ASP.NET AJAX Control Toolkit è una libreria supportata dalle community e non è supportata da Microsoft. In questo argomento vengono descritti i controlli Extender presenti nell'ASP.NET AJAX Control Toolkit come esempio pratico del loro utilizzo, non devono però essere considerati parte ufficiale di ASP.NET o controlli supportati.

In questo argomento sono presenti informazioni su:

  • Funzionalità dei controlli Extender AJAX

  • Background

  • Riferimento alle classi

Funzionalità

In Visual Studio sono supportate le seguenti funzionalità dei controlli Extender:

  • Aggiunta dei controlli Extender.

  • Rimozione dei controlli Extender.

  • Impostazione delle proprietà dei controlli Extender

  • Gestione dei controlli Extender.

Torna all'inizio

Background

I controlli Extender possono essere utilizzati per migliorare le funzionalità client dei controlli server Web standard. I controlli Extender non vengono utilizzati da soli, ma associati a un altro controllo server Web ASP.NET. I controlli Extender vengono associati a un controllo server Web impostando la proprietà TargetControlID del controllo Extender sull'ID del controllo server da estendere.

Utilizzo dei controlli Extender in Visual Studio

Se si installa l'ASP.NET AJAX Control Toolkit, i controlli Extender vengono visualizzati in una scheda specifica nella Casella degli strumenti. La sezione dei controlli Extender della Casella degli strumenti viene visualizzata solo per le pagine Web, come per la sezione Standard della Casella degli strumenti.

Nota:

L'ASP.NET AJAX Control Toolkit è una libreria supportata dalle community. Non fa parte di ASP.NET.

Aggiunta dei controlli Extender

Per aggiungere i controlli Extender a un controllo server Web in visualizzazione Progettazione, utilizzare i seguenti metodi:

  • Trascinare il controllo Extender sul controllo server Web. Rilasciare il controllo Extender solo sui controlli server Web che supportano i controlli Extender. Mentre si trascina il controllo Extender sull'area di progettazione, il puntatore indica se è possibile rilasciare il controllo Extender sul controllo server Web.

  • Fare clic con il pulsante destro del mouse sul controllo server Web, quindi scegliere Aggiungi Extender.

  • Selezionare lo smart tag Attività di Button, quindi fare clic su Aggiungi Extender.

    Nota:

    I controlli Extender non vengono solitamente visualizzati in visualizzazione Progettazione. Se però si verifica un errore relativo a un controllo Extender, questo verrà visualizzato.

Quando si aggiunge un controllo Extender nella finestra di progettazione, la proprietà TargetControlID del controllo Extender viene impostata sul controllo server Web associato. Il nome del controllo Extender si basa sul nome del controllo server Web al quale è associato.

Un controllo Extender può supportare elementi dell'interfaccia utente che è possibile configurare. In tal caso, è possibile impostare questi elementi utilizzando un menu smart tag del controllo server Web esteso.

Il controllo Extender non viene visualizzato nell'area di progettazione quando è associato a un controllo di destinazione. Se il controllo Extender non è associato a un controllo di destinazione o se l'associazione non può essere determinata in fase di progettazione, il controllo Extender verrà visualizzato come un segnaposto nell'area di progettazione. Gli scenari in cui può verificarsi questa situazione sono:

  • La proprietà TargetControlID è vuota.

  • La proprietà TargetControlID non corrisponde a un controllo esistente.

  • La proprietà TargetControlID fa riferimento a un controllo che non può essere esteso mediante il controllo Extender.

Se il controllo Extender è associato a un controllo di destinazione valido, nella finestra°Proprietà di Visual Studio vengono nascoste le seguenti proprietà del controllo Extender:

  • TargetControlID

  • EnableViewState (ereditata dalla classe Control)

  • ID (ereditata dalla classe Control)

Per ulteriori informazioni su come aggiungere i controlli Extender ai controlli server Web, vedere Procedura dettagliata: controlli Extender ASP.NET AJAX.

Rimozione dei controlli Extender

È possibile rimuovere l'associazione tra un controllo Extender e un controllo server Web effettuando le seguenti operazioni:

  • In visualizzazione Progettazione fare clic con il pulsante destro del mouse sul controllo server Web, scegliere Rimuovi Extender, quindi selezionare il controllo Extender da rimuovere.

  • In visualizzazione Progettazione selezionare lo smart tag Attività di Button, fare clic su Rimuovi Extender, quindi selezionare il controllo Extender da rimuovere.

  • Eliminare il markup del controllo Extender in visualizzazione Origine.

Controlli Extender e controllo ScriptManager

I controlli Extender che derivano dalla classe ExtenderControl richiedono la presenza di un controllo ScriptManager nella pagina. La classe di base ExtenderControl esegue un test di verifica dell'esistenza nella pagina di un controllo ScriptManager.

Se, tuttavia, si desidera creare un controllo Extender che non richiede un controllo ScriptManager, sarà possibile creare una classe che implementi direttamente l'interfaccia IExtenderControl. Inoltre, se si sta creando una classe che deriva da Control o si sta estendendo un controllo esistente che deriva da Control, sarà possibile implementare l'interfaccia IExtenderControl manualmente.

L'interfaccia IExtenderControl registra le librerie di script per un controllo chiamando il metodo GetScriptReferences. Registra gli oggetti ScriptDescriptor chiamando il metodo GetScriptDescriptors. Il metodo GetScriptDescriptors restituisce un elenco IEnumerable di oggetti ScriptDescriptor.

Nota:

Se si estende un tipo di controllo esistente derivato dalla classe WebControl, implementare l'interfaccia IScriptControl.

Per ulteriori informazioni sulla creazione di un controllo Extender ASP.NET AJAX, vedere Aggiunta di funzionalità client a un controllo server Web.

Controlli Extender nell'ASP.NET AJAX Control Toolkit

Nella tabella seguente vengono descritti alcuni controlli Extender AJAX disponibili nell'ASP.NET AJAX Control Toolkit.

Nota:

L'ASP.NET AJAX Control Toolkit è una libreria supportata dalle community. Non fa parte di ASP.NET. Il contenuto della libreria e la funzionalità dei singoli controlli sono soggetti a modifiche.

Controllo Extender AJAX

Descrizione

CascadingDropDown

Popola dinamicamente un controllo DropDownList, a seconda della selezione effettuata in un altro controllo DropDownList. Questo controllo Extender viene associato a un controllo DropDownList.

Quando si modifica la selezione di un controllo DropDownList, il controllo Extender CascadingDropDown chiama un servizio Web specificato per recuperare un elenco di valori utilizzato per popolare il successivo controllo DropDownList dell'insieme.

CollapsiblePanelExtender

Consente di aggiungere sezioni comprimibili a una pagina Web.

Questo controllo Extender viene associato a un controllo UpdatePanel.

È possibile specificare un controllo server Web che possa espandere o comprimere il controllo UpdatePanel. In alternativa, UpdatePanel può essere impostato per espandersi o comprimersi automaticamente quando gli utenti vi spostano sopra il puntatore del mouse.

ConfirmButtonExtender

Visualizza una finestra di messaggio di conferma dopo aver fatto clic su un controllo Button, ma prima che la pagina o UpdatePanel venga inviato al server. Se gli utenti annullano l'operazione, la pagina non viene inviata.

Questo controllo Extender viene associato a un controllo Button.

FilteredTextBoxExtender

Impedisce agli utenti di digitare specifici caratteri in un controllo TextBox.

Questo controllo Extender viene associato a un controllo TextBox.

ModalPopupExtender

Consente di visualizzare il contenuto, ma impedisce all'utente di interagire con il resto della pagina.

Questo controllo Extender viene associato a un qualsiasi controllo server Web che possa essere utilizzato per aprire la finestra modale.

PasswordStrength

Visualizza il livello di complessità di una password.

Questo controllo Extender viene associato a un controllo TextBox.

RoundedCornersExtender

Applica angoli arrotondati agli elementi esistenti.

Questo controllo Extender viene generalmente associato a un controllo Panel.

TextBoxWatermarkExtender

Visualizza un messaggio all'interno di un controllo TextBox quando la casella di testo non contiene un valore di testo.

Questo controllo Extender viene associato a un controllo TextBox.

Impostazione delle proprietà dei controlli Extender

È possibile impostare le proprietà dei controlli Extender nella finestra Proprietà. Alcuni controlli Extender forniscono anche elementi dell'interfaccia utente aggiuntivi a cui è possibile accedere tramite il menu smart tag del controllo server Web.

Quando un controllo server Web viene esteso, nella finestra Proprietà viene visualizzata una nuova categoria denominata Extender. In questa sezione viene visualizzata una nuova proprietà a più livelli per ogni controllo Extender aggiunto al controllo server Web. Ogni controllo Extender fornisce proprietà univoche specifiche del controllo.

Per ulteriori informazioni sull'impostazione delle proprietà dei controlli server Web, vedere Procedura: attivare la finestra Proprietà in Visual Web Developer.

Gestione dei controlli Extender

Poiché i controlli Extender non visualizzano direttamente l'interfaccia utente in visualizzazione Progettazione, devono essere gestiti come parte del controllo al quale vengono aggiunti. Se il controllo server Web viene spostato in un percorso diverso o inserito in un altro controllo, vengono spostati anche i controlli Extender associati.

Il markup del controllo Extender viene inserito direttamente dopo il markup del controllo server Web. Se a un controllo server Web sono associati diversi controlli Extender, durante lo spostamento viene conservato l'ordine dei controlli Extender, riducendo in questo modo la possibilità di conflitti in fase di esecuzione.

Quando un controllo server Web con controlli Extender associati viene eliminato dall'area di progettazione, vengono eliminati anche i controlli Extender. Se si modifica la proprietà ID di un controllo server Web con controlli Extender associati nella finestra Proprietà, vengono aggiornate di conseguenza la proprietà TargetControlID e la proprietà ID dei controlli Extender.

Nota:

Se un controllo Extender dispone di un ID personalizzato fornito dall'utente, la proprietà ID non viene modificata quando si modifica la proprietà ID di un controllo server Web associato.

Se un controllo server Web con controlli Extender associati viene tagliato o copiato negli Appunti, la copia includerà anche i controlli Extender associati. Vengono copiati come markup e seguono immediatamente il controllo. Questo accade anche se nell'origine il markup del controllo Extender non è contiguo al controllo. Quando il controllo server Web viene incollato, vengono incollati anche i controlli Extender.

Se nel markup di un controllo Extender è presente un errore, questo viene visualizzato in visualizzazione Progettazione con un messaggio indicante "Errore durante la lettura del controllo". Per correggere l'errore, correggere il markup in visualizzazione Origine.

Torna all'inizio

Riferimento alle classi

Le classi server principali per i controlli Extender vengono illustrate nella tabella seguente.

Classe

Descrizione

ExtenderControl

Fornisce una classe di base astratta per un controllo Extender.

IExtenderControl

Definisce il comportamento di un controllo Extender.

Torna all'inizio

Vedere anche

Attività

Procedura dettagliata: controlli Extender ASP.NET AJAX