2009-03-09 12 views
0

Auf meinem Rechner, wenn ich meine Webapplikation (wether in debug oder normal) nach ein javascript: history.back() triggert ein Postback in meiner App . Auf der anderen Seite tritt es nicht auf, wenn ich die Anwendung vorkompiliere. Schließlich, wenn ich die gleichen Seiten auf einem anderen Rechner teste, kommt das Postback überhaupt nicht vor.javascript: history.back() triggert Postback auf Maschine, aber nicht wenn vorkompiliert

Ich verwende VS2008, asp.net 2.0 mit AutoEventWireup = „false“

Ich habe Dateien mit unvergleichbar, geprüft metadata.xml aber ich verstehe nicht, warum auf meinem lokalen es ein Postback tut .

Was kann das Problem sein?

Antwort

1

tun Sie es wie: javascript: history.back(); falsch zurückgeben;

1

Auf der anderen Seite tritt es nicht auf, wenn ich die Anwendung vorkompiliere. Zuletzt, wenn ich die gleichen Seiten auf jemand anderem Maschine teste, kommt das Postback gar nicht vor.

Dann ist es wahrscheinlich ein Cache-Problem. Wenn der IE sich die vorherige Seite merken kann, muss er sie möglicherweise nicht neu laden. Unterschiedliche Bereitstellungsoptionen führen dazu, dass verschiedene Cache-Header an den Browser zurückgegeben werden, und verschiedene Browseroptionen können dazu führen, dass der Cache an verschiedenen Punkten abläuft.

Im Allgemeinen möchten Sie das Post/Redirect/Get Muster verwenden, um Postbacks zu vermeiden, und es gibt fast nie einen guten Grund, 'history.back()' oder 'javascript:' URLs zu verwenden.

Verwandte Themen