Frage

Ich google über Page_Prerender, wie wir Page_Prerender anstelle von Page_load verwenden können oder was das Szenario sein könnte, in dem wir Page_load nicht verwenden konnten und müssen Page_Prerender verwenden, aber jeden Ort, an dem ich das finde.

"The point at which the objects are prerendered is the last time changes to the objects can be saved or persisted to viewstate. This makes the PreRender step a good place to make final modifications, such as changing properties of controls or changing Control Tree structure, without having to worry about ASP.NET making changes to objects based off of database calls or viewstate updates. After the PreRender phase those changes to objects are locked in and can no longer be saved to the page viewstate. The PreRender step can be overridden using OnPreRender".

Aber ich konnte nicht verstehen, welche Art von Änderungen, die wir auf Page_load nicht vornehmen konnten und in Prerender zu tun haben müssen.

Wie ich weiß, können wir auf page_preinit Steuerelemente dynamisch erstellen, MasterPage oder Thema ändern, die wir nicht in page_load oder nach init konnten.

Aber was ist mit Page_Prerender, was sind Dinge, die wir nur in Page_Prerender tun können?

War es hilfreich?

Lösung

Bestimmte Ereignisse werden nach dem Ereignis page_load ausgelöst. Einige sind offensichtlich, während andere nicht sind. Dies liegt daran, dass diese Ereignisse erst nach der Erholung (oder eher nach dem Laden) ausgeführt werden können. Wenn Sie ein Stück Client -Skript registrieren möchten, könnte der gute Ort page_render sein. Oder die Seite. Validate -Methode, die Sie möglicherweise in der Seite page_load aufrufen, um Steuerelemente zu validieren, kann als in den Render -Stufen bereits aufgerufen werden.

Ebenso bestimmte andere, die nur dann funktionieren, wenn ihre zugehörigen Kontrollen bereit sind, um gerendert zu werden (vollständig für den Browser eines Benutzers behandelt).

Andere Tipps

Es ist keine Frage, was Sie können nur Wenn Sie in Page_Prerender abhängig sind, können Sie Abhängigkeiten zwischen Ihren Steuerelementen geben, die erst nach der Verarbeitung aller Ereignisse in page_load verarbeitet wurden.

Page_Prerender -Ereignis kann verwendet werden, um Änderungen am HTML -Rendering für Ihre Steuerelemente anzugeben. Ein wichtiger Unterschied zwischen Last und Prerender besteht darin, dass Lastläufe vor dem Abfeuern Ihrer Steuerereignisse abgefeuert und nach den Kontrollereignissen aufgerufen wird. Wenn Sie auf der Grundlage Ihres Steuerereigniscodes die Ausgabe -HTML -Ausgabe ändern möchten, können Sie dies im Prerender -Ereignis tun.

Eine weitere wichtige Sache, die zu beachten ist, ist, dass das Seitenobjekt das Prerender -Ereignis auf dem Seitenobjekt erhöht und dann für jede untergeordnete Steuerung dasselbe tut. Das Prerender -Ereignis einzelner Steuerelemente erfolgt nach dem Prerender -Ereignis der Seite. Auf diese Weise können Sie zusätzliche Hebelwirkung für die Änderung des Renderns einer bestimmten Kontrolle erhalten. Dies ist in Page_load nicht möglich.

Es kann auch verwendet werden, wenn Sie benutzerdefinierte/benutzer -Steuerelemente verwenden, bei denen das Rendern der Steuerung von Ihnen durchgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top