Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 7 di 12
  • livello principiante
Indice lezioni

Lo ScriptManager

Componente fondamentale per consentire l'interpretazione degli elementi Ajax nelle Web Form
Componente fondamentale per consentire l'interpretazione degli elementi Ajax nelle Web Form
Link copiato negli appunti

Per utilizzare tutte le nuove caratteristiche OOP del JavaScript "potenziato", abbiamo bisogno di inserire, in ogni pagina, una sorta di "Proxy JavaScript".

Lo ScriptManager svolge proprio questa funzione. Una volta inserito in una pagina ASP.NET, registra i nuovi tipi, i namespace e quant'altro nella pagina corrente, rendendo accessibili questi nuovi oggetti Javascript.

Ma oltre a questa funzione questo controllo assolve altri compiti utili anche in altre situazioni:

  • interagire con i nuovi namespace Sys presenti in ASP.NET AJAX ,
  • registrare script personali o estendere quelli esistenti,
  • utilizzo dei controlli <UpdatePanel> e figli,
  • accesso a WebService in asincrono o autenticazione ASP.NET via script.

Render parziale

Una delle funzioni principali che ci si aspetta di ottenere da Ajax è la possibilità di ridisegnare solo una porzione di una pagina senza dover ricaricare tutto.

Il controllo ScriptManager ci permette di ottenere questa funzione, in coppia con un altro strumento fondamentale di ASP.NET AJAX: il controllo UpdatePanel.

UpdatePanel, in particolare, espone l'evento AsyncPostBackError, con il quale possiamo eseguire una verifica sugli errori generati dal controllo.

Interazione con i namespace

Questo elemento deve essere inserito come un controllo server all'interno della pagina e la sua presenza permette il funzionamento del codice ASP.NET AJAX JavaScript.

Come per tutto il codice JavaScript, le nostre dichiarazioni possono essere inserite in file JavaScript esterni, con estensione ".js", il che ci permette di avere maggior controllo e pulizia nelle nostre pagine. In ogni caso deve essere definito uno <asp:ScriptManager>

Listato 1. Aggiunta JavaScript esterno

<form id="Webform" runat="server">
  <asp:ScriptManager runat="server" ID="scriptManager" />
</form>

<!-- caricamento del file esterno -->
<script type="text/javascript" src="./Funzioni.js" />

Infine, ASP.NET AJAX prevede un controllo a fine caricamento del file JavaScript, è quindi bene inserire sempre al termine del file il comando di notifica di fine lettura, che indica allo ScriptManager che il codice è stato caricato.

Listato 2. Segnalazione di fine caricamento

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

Possiamo sfruttare quindi i nuovi prototipi e namespace presenti nel namespace Sys, in cui troviamo tutte le classi utili per Ajax, quindi accesso a WebService asincrono, accesso ai controlli Web e alla configurazione.

ScriptManager è quindi il controllo perno di ASP.NET AJAX, senza il quale nessuna pagina o controllo ascx potrebbero usufruire delle caratteristiche sopra citate.

Per approfondire è possibile gestire di più ScriptManager in una stessa pagina, attraverso il controllo ScriptProxyManager in grado appunto di smistare le funzioni mirate ad uno specifico ScriptManager.

Ti consigliamo anche