Il existe un contrôle UpdatePanel dans Atlas, qui prend en charge les mises à jour partielles. Spécifiez simplement Mode="Conditional". Bien entendu, le ScriptManager doit également définir EnablePartialRendering="true".
Mise à jour partielle, en utilisant xmlHttp. Le processus est le suivant :
1 : Lors de la publication, le js de la page publie les données sur la page (la page entière doit être publiée)
2 : Le background reçoit la requête et démarre le traitement (le pageLoad de la page peut être déclenché)
3 : Après le traitement, renvoyez uniquement les données à mettre à jour vers la page (déterminez quelle partie des données renvoyer en fonction du nom du UpdatePanel que vous souhaitez mettre à jour. C'est le code de this.updatePanelXX.Update() )
4 : La page (client) ne met à jour que cette partie des données de publication (c'est ce qu'on appelle la mise à jour partielle, la méthode consiste à trouver le updatePanle, puis UpdatePanel.InnerHtml=PostBackData. Il s'agit d'un remplacement direct.
) point de vue, ce qu'on appelle la mise à jour partielle. La nouvelle consiste à redessiner uniquement la partie updatePanel spécifiée (lors de la publication sur le serveur, la page entière doit être republiée ; le code d'arrière-plan traitera chacune d'entre elles comme avant ; mais seulement une partie des résultats du traitement seront restitués au client).
De cette façon, il sera très difficile si vous souhaitez déclencher le traitement js d'une page pendant le traitement de UpdatePanle. Étant donné que toutes les données que vous publiez sont mises à jour dans un petit coin, le Response.Write(js) précédent ne fonctionnera pas du tout.
La solution est la suivante :
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "OpenOverViewPart", openScript); Utilisez la méthode RegisterStartupScript pour enregistrer la fonction js, puis elle pourra être exécutée en douceur.
En fait, l'exécution n'est pas si fluide, car après qu'Atlas ait effectué une mise à jour partielle, il rassemblera tous les js de la page --- occupez-vous de vos propres affaires --- cela aura donc un petit impact : de nombreux js ont comme <! - et d'autres symboles de commentaires, si vous ne faites pas attention, vos propres js seront également commentés. C'est en effet plus gênant.
La solution est X. Vous devez contrôler vous-même le style de sortie js et ajouter quelques retours chariot supplémentaires pour montrer qu'il ne s'agit pas d'un commentaire.
chaîne openScript = "nt" ;
openScript = "<script" + " type='text/javascript'>rn"
+ "rn"
+ "var a=0;rn"
+ "opener.top.__doPostBack('" + Request.Params["refresh"] + "','refresh');rn"
+ "window.opener.focus();"
+ "window.close();"
+ "<" + "/script" + ">" ;