Warum ist Page_Load nicht feuern, nach der Rückkehr von der anderen Seite mit ASP.NET - ergo epic Verlegenheit :)
Sagen wir, ich habe zwei Seiten auf der gleichen ASP.NET C# - Webseite.
- Seite1.aspx nicht Dinge, die Sie im Page_Load-Ereignis
- Ich navigieren, um zu Page2.aspx über das Menü
- Page2.aspx tut einige Dinge, die dann Antwort.Redirect zurück zu Page1.aspx
- Seite1.aspx kann nicht Dinge tun, die Sie im Page_Load-Ereignis dieser Zeit, weil es nie ausgelöst.
Habe ich versucht zu deaktivieren, cache deklarativ, versucht, mit true für endResponse in meinem umleiten... nichts scheint einen Unterschied zu machen.
Nie Verstand jeder! Ich bin ein idiot!
Mithilfe von Visual Studio Dev Localhost Umleiten Umleitung war auf der live-Seite! 🙂
- Wie werden Sie umgeleitet?
- Antwort.Umleiten
- Haben Sie versucht, die Server.Transfer? Oder Antwort.Umleiten, übergeben Sie einen optionalen zweiten parameter, ein boolescher Wert, ob zum senden der Formular-Variablen an die aufgerufene Seite. Hantieren mit, dass könnte einen Unterschied.
- Gibt es irgendein code in der Seite aufgerufen wird? Wie wäre OnInit?
- Führen Sie Fiddler verwenden, und überprüfen Sie, ob eine Anforderung gesendet wird, an alle.
- Yep. Es zeigt auch, Pragma: no-cache
- Froh, dass du es gelöst hast.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Grund für die Seite der Ausführung nicht auf die Seite cycle, Load-Ereignis immer feuert, wenn die Seite ausgeführt wird.
So, wenn Sie die Page_Load-nicht manchmal, es ist, weil die Seite im Cache gespeichert und nicht auf dem server ausführen. Die Seite kann im browser zwischengespeichert werden, in einem router irgendwo auf dem Weg oder auf dem server mit server-Seite-page-caching.
Wenn Sie noch nicht aktiviert server side page-caching für die Seite, es ist im browser zwischengespeichert oder in das Netzwerk. Sie können die cache-Einstellungen zu versuchen, elliminate dies:
Damit wird die Seite zwischengespeichert werden unter normalen Umständen. (Überprüfen Sie auch, ob dein browser nicht im offline-Modus, dann wird es irgendwas im cache, unabhängig von seiner cachefähigkeit Einstellungen).
Wenn Sie navigieren Sie zu einer Seite mit dem Zurück-button, wird die Seite neu geladen wird aus dem Speicher, und keine Anfrage an den server gesendet wird.
Können Sie bestätigen dies mit Fiddler.
Ich bin mir nicht sicher, ob dies wahr ist in allen Browsern.
Wenn Sie umleiten, ist es möglich, das client caching der Antwort. Um daran vorbei, Sie können hinzufügen, eine zusätzliche Abfrage-parameter, der hält einfach die Zeit.
Dies ist in der Regel genug, um Vergangenheit die meisten Seiten caching-Mechanismen.
Versuchen Sie es mit Server.Transfer statt Reaktion.Redirect.
Den client nicht zu sehen, die URL zu ändern, aber dies kann keine Rolle, je nach Ihren Anforderungen
Ich hatte das gleiche problem und festgestellt, dass diese funktioniert bei mir: (fügen Sie diese auf der Page_Load-Abschnitt)
und dann Stell ich Session["RELOAD"] = "1" direkt nach es führt den code möchte ich ausführen, um zu verhindern, dass es erfrischend, über und über wieder. Funktioniert wie ein Charme.
Ändern VS von debug auf Release-Modus funktionierte für mich ....
Bitte führen Sie den folgenden code zum deaktivieren der page-cache in firefox.
Gelten in diesem laden der Seite der master-Seite.