Es gibt ein UpdatePanel-Steuerelement, das Teilaktualisierungen unterstützt. Natürlich muss der ScriptManager auch EnablePartialRendering="true" festlegen.
Teilweise Aktualisierung mit xmlHttp. Der Prozess ist wie folgt:
1: Während des Postbacks sendet der js der Seite ein Postback der Daten auf der Seite (die gesamte Seite muss postbackt werden).
2: Der Hintergrund empfängt die Anfrage und beginnt mit der Verarbeitung (das Laden der Seite kann ausgelöst werden).
3: Senden Sie nach der Verarbeitung nur die zu aktualisierenden Daten zurück an die Seite (bestimmen Sie anhand des Namens des UpdatePanels, das Sie aktualisieren möchten, welcher Teil der Daten zurückgesendet werden soll. Dies ist der Code von this.updatePanelXX.Update() )
4: Die Seite (Client) aktualisiert nur diesen Teil der Postback-Daten (dies ist die sogenannte Teilaktualisierung, die Methode besteht darin, updatePanle zu finden und dann UpdatePanel.InnerHtml=PostBackData zu finden. Dies ist ein direkter Ersatz.)
Von hier aus Aus Sicht der sogenannten Teilaktualisierung Die neue besteht darin, nur den angegebenen updatePanel-Teil neu zu zeichnen (beim Zurücksenden an den Server muss die gesamte Seite zurückgesendet werden; der Hintergrundcode verarbeitet jeden einzelnen Teil wie zuvor; jedoch nur einen Teil der Verarbeitungsergebnisse werden an den Auftraggeber zurückgegeben).
Auf diese Weise wird es sehr schwierig, wenn Sie die js-Verarbeitung einer Seite auslösen möchten, während UpdatePanle verarbeitet wird. Da alle Daten, die Sie zurücksenden, in einer kleinen Ecke aktualisiert werden, funktioniert das vorherige Response.Write(js) überhaupt nicht.
Die Lösung ist diese:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), „OpenOverViewPart“, openScript); Verwenden Sie die RegisterStartupScript-Methode, um die js-Funktion zu registrieren, und sie kann dann reibungslos ausgeführt werden.
Tatsächlich ist die Ausführung nicht so reibungslos, da Atlas nach der teilweisen Aktualisierung alle JS auf der Seite zusammenfügt – kümmern Sie sich um Ihre eigenen Angelegenheiten –, sodass dies einige kleine Auswirkungen hat: Viele JS haben z <! - und andere Kommentarsymbole. Wenn Sie nicht aufpassen, werden auch Ihre eigenen js kommentiert. Das ist in der Tat problematischer.
Die Lösung ist X. Sie müssen den js-Ausgabestil selbst steuern und ein paar weitere Wagenrückläufe hinzufügen, um zu zeigen, dass es sich nicht um einen Kommentar handelt.
string 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" + ">";