Condividi tramite


Cenni preliminari sul controllo ScriptManager

Aggiornamento: novembre 2007

Il controllo ScriptManager gestisce script client per le pagine Web ASP.NET con supporto AJAX. Per impostazione predefinita, il controllo ScriptManager registra lo script per Microsoft AJAX Library con la pagina. In questo modo lo script client può utilizzare le estensioni del sistema di tipi e supportare funzionalità quali il rendering a pagina parziale e le chiamate del servizio Web.

Di seguito sono elencate le diverse sezioni di questo argomento:

  • Scenari

  • Background

  • Esempi di codice

  • Riferimento alle classi

Scenari

È necessario utilizzare un controllo ScriptManager su una pagina per attivare le seguenti funzionalità AJAX di ASP.NET:

  • Funzionalità script client di Microsoft AJAX Library e qualsiasi script personalizzato che si desidera inviare al browser. Per ulteriori informazioni, vedere Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library.

  • Rendering a pagina parziale che consente di attivare l'aggiornamento indipendente di regioni della pagina senza un postback. I controlli UpdatePanel ASP.NET, UpdateProgress e Timer richiedono un controllo ScriptManager per il supporto del rendering a pagina parziale.

  • Classi proxy JavaScript per i servizi Web che consentono di utilizzare lo script client per accedere ai servizi Web e ai metodi contrassegnati in modo speciale nelle pagine ASP.NET. Questa operazione viene eseguita esponendo i servizi Web e i metodi di pagina come oggetti fortemente tipizzati.

  • Classi JavaScript per l'accesso ai servizi applicativi di autenticazione, profilo e ruoli ASP.NET.

Background

Quando una pagina Web contiene uno o più controlli UpdatePanel, il controllo ScriptManager gestisce il rendering a pagina parziale nel browser. Il controllo interagisce con il ciclo di vita della pagina per aggiornare le parti della pagina che si trovano all'interno dei controlli UpdatePanel. Per ulteriori informazioni, vedere Cenni preliminari sul rendering a pagina parziale.

La proprietà EnablePartialRendering del controllo ScriptManager determina se una pagina partecipa agli aggiornamenti a pagina parziale o meno. Per impostazione predefinita, la proprietà EnablePartialRendering è impostata su true. Pertanto, il rendering a pagina parziale viene attivato quando si aggiunge un controllo ScriptManager alla pagina. Per ulteriori informazioni sull'utilizzo del controllo UpdatePanel con il controllo ScriptManager, vedere Introduzione al controllo UpdatePanel e Creazione di una pagina ASP.NET semplice con più controlli UpdatePanel.

Gestione degli errori del rendering a pagina parziale

Durante il rendering a pagina parziale, è possibile gestire gli errori attenendosi alla procedura riportata di seguito.

  • Impostare la proprietà AllowCustomErrorsRedirect. In tal modo è possibile determinare come viene utilizzata la sezione degli errori personalizzati del file Web.config quando si verifica un errore durante un postback asincrono.

  • Gestire l'evento AsyncPostBackError del controllo ScriptManager generato in caso di errore della pagina durante un postback asincrono.

  • Impostare la proprietà AsyncPostBackErrorMessage, ovvero il messaggio di errore inviato al browser.

Utilizzo di estensioni del sistema di tipi

Microsoft AJAX Library aggiunge a JavaScript delle estensioni del sistema di tipi che forniscono spazi dei nomi, ereditarietà, interfacce, enumerazioni, riflessione e funzionalità di supporto per stringhe e matrici. Queste estensioni forniscono funzionalità in script client, simili a quelle di .NET Framework, che consentono di scrivere applicazioni ASP.NET con supporto AJAX in una modalità strutturata che migliora la gestibilità e semplifica l'aggiunta di funzioni e la disposizione di funzionalità su più livelli. L'aggiunta di un controllo ScriptManager a una pagina Web ASP.NET include automaticamente le estensioni del sistema di tipi consentendo l'utilizzo della libreria in script client. Per ulteriori informazioni, vedere Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library.

Registrazione di script personalizzati

Utilizzare il controllo ScriptManager per gestire le risorse create per i controlli che partecipano agli aggiornamenti a pagina parziale. Le risorse includono script, stili, campi nascosti e matrici. L'insieme Scripts del controllo ScriptManager contiene un oggetto ScriptReference per ciascuno script disponibile per il browser. Gli script possono essere specificati in modo dichiarativo o a livello di codice.

Il controllo ScriptManager espone anche i metodi di registrazione che possono essere utilizzati per gestire script client e campi nascosti a livello di codice. Quando vengono registrati gli script o i campi nascosti che supportano gli aggiornamenti a pagina parziale, è necessario chiamare i metodi di registrazione del controllo ScriptManager. Per registrare gli script non necessari per gli aggiornamenti a pagina parziale, utilizzare i metodi della classe ClientScriptManager.

Nota:

Tutti gli script della pagina registrati utilizzando il controllo ScriptManager e tutti gli script di gestione degli eventi devono trovarsi all'interno dell'elemento form nella pagina. In caso contrario, lo script non verrà registrato o eseguito.

Per un elenco dei metodi di registrazione dei controlli ClientScriptManager, vedere Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library e i cenni preliminari sulla classe ClientScriptManager.

Registrazione dei servizi Web

Per registrare un servizio Web che si desidera chiamare da una pagina ASP.NET con supporto AJAX, è necessario registrare tale servizio aggiungendolo all'insieme Services del controllo ScriptManager. Il framework ASP.NET AJAX genera un oggetto proxy client per ogni oggetto ServiceReference nell'insieme Services. Le classi proxy e i membri fortemente tipizzati consentono di semplificare l'utilizzo dei servizi Web da script client.

A livello di codice è possibile aggiungere gli oggetti ServiceReference all'insieme Services per registrare i servizi Web in fase di esecuzione. Per ulteriori informazioni, vedere la classe Servizi Web in ASP.NET AJAX.

Utilizzo dei servizi di autenticazione, profilo e ruolo da script client

Microsoft AJAX Library include classi proxy che consentono di chiamare i servizi applicativi di autenticazione, profilo e ruoli dei form di ASP.NET 2.0 direttamente da JavaScript. Se si desidera utilizzare un servizio di autenticazione personalizzato, è possibile registrarlo utilizzando il controllo ScriptManager. Per ulteriori informazioni, vedere Utilizzo dell'autenticazione basata su form con ASP.NET AJAX, Utilizzo delle informazioni sul profilo con ASP.NET AJAX e Utilizzo delle informazioni sui ruoli con ASP.NET AJAX.

Classe ScriptManagerProxy

Alla pagina può essere aggiunta una sola istanza del controllo ScriptManager. La pagina può includere il controllo direttamente o indirettamente, all'interno di un componente nidificato, quale un controllo utente, una pagina di contenuto per una pagina master o una pagina master nidificata. Se una pagina contiene già un controllo ScriptManager ma un componente nidificato o padre richiede delle funzionalità aggiuntive del controllo ScriptManager, il componente può includere un controllo ScriptManagerProxy. Ad esempio, il controllo ScriptManagerProxy consente di aggiungere script e servizi specifici dei componenti nidificati.

Esempi di codice

Applicazione AJAX di esempio

Procedura dettagliata: creazione di un sito Web con supporto AJAX

Procedura dettagliata: globalizzazione di una data mediante uno script client

Creazione di uno script client personalizzato utilizzando Microsoft AJAX Library

Procedura dettagliata: creazione e utilizzo di un servizio Web con supporto AJAX

Introduzione al controllo UpdatePanel

Introduzione al controllo UpdateProgress

Procedura dettagliata: introduzione al controllo Timer

Assegnazione dinamica dei riferimenti a uno script

Creazione di un controllo Extender per associare un comportamento client a un controllo server Web

Aggiunta di funzionalità client a un controllo server Web

Creazione di controlli client AJAX personalizzati

Creazione di componenti client non visivi personalizzati

Riferimento alle classi

Classe

Descrizione

ScriptManager

Controllo server che rende disponibili le risorse di script per il browser, tra cui Microsoft AJAX Library e la funzionalità che consente il rendering a pagina parziale.

ScriptManagerProxy

Controllo server che consente ai componenti nidificati di aggiungere script e riferimenti ai servizi se la pagina contiene già un controllo ScriptManager.

Vedere anche

Concetti

Cenni preliminari sul ciclo di vita di una pagina ASP.NET

Cenni preliminari sul rendering a pagina parziale

Servizi Web in ASP.NET AJAX