Mediante JavaScript è possibile eseguire programmaticamente un post della pagina mediante il richiamo della funzione
__doPostBack( 'EventName', 'EventArgs' );
In questo caso il post generato è sincrono, ma, come ben spiegato in questo post, è anche possibile effettuarlo asincrono mediante l’utilizzo di un array della classe PageRequestmanager, in questo modo:
function doPostBackAsync( eventTargetName, eventArgs ) { var prm = Sys.WebForms.PageRequestManager.getInstance(); if( !Array.contains( prm._asyncPostBackControlIDs, eventTargetName) ) { prm._asyncPostBackControlIDs.push(eventTargetName); } if( !Array.contains( prm._asyncPostBackControlClientIDs, eventTargetName) ) { prm._asyncPostBackControlClientIDs.push(eventTargetName); } __doPostBack( eventTargetName, eventArgs ); }
Mediante poi l’utilizzo dell’UpdatePanel otteniamo che a livello programmatico (quindi senza necessariamente l’interazione dell’utente mediante un controllo), possiamo generare un post asincrono con refresh parziale della pagina, mediante il richiamo esplicito della funzione di cui sopra.
Inoltre, poichè in Javascript è anche possibile, richiamare esplicitamente una funzione definita dall’utente in una pagina mentre ci si trova in un altra pagina (esempio popup), mediante il seguente costrutto:
window.opener.nomeFunzioneCustom(parametri);
otteniamo che, stando un una pagina secondaria come un popup, riusciamo ad aggiornare con il partial rendering la pagina chiamante.
Comments are closed.