Dies ist eine sehr berühmte Fragen in Google. Ich habe mehrere Vorschläge gefunden, um dieses Feature zu erreichen. Die von mir implementierte Prozedur ist unten beschrieben:Verhindern der Seitenüberprüfung nach dem Abmelden
Ich habe einen Logout-Link auf der Homepage hinzugefügt und wenn ich auf diesen Link klicke, leite ich den Benutzer auf die Logout-Seite um.
protected void LinkButton1_Click(object sender, EventArgs e) {
Response.Redirect("../Logout.aspx");
}
Jetzt im Logout.aspx habe ich hinzugefügt:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
Response.AppendHeader("Pragma", "no-cache");
in der Page_Load-Methode Code hinter. Dies wird Umleitung
protected void Timer1_Tick(object sender, EventArgs e) {
FormsAuthentication.SignOut();
Session.Abandon();
FormsAuthentication.RedirectToLoginPage();
}
zum Login.aspx
von Logout.aspx
:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick" >
</asp:Timer>
Die Timer1_Tick Methode ist: hinzugefügt Ich habe eine asp:ScriptManager
und asp:Timer
zu diesem Logout.aspx
auch. Ich habe auch die folgende JavaScript-Methode in den Logout.aspx
hinzugefügt:
function disableBackButton() {
window.history.forward(1);
}
disableBackButton();
window.onload = disableBackButton();
window.onpageshow = function (evt) { if (evt.persisted) disableBackButton() }
window.onunload = function() { void (0) }
Und es funktioniert nur, wenn ich auf die Schaltfläche Zurück Klick oder klicken Sie mehrmals mit Pause. Aber wenn es mehrmals hintereinander angeklickt wird, werde ich wieder auf der Startseite platziert.
Wie kann ich dieses Problem lösen?
Vielen Dank. Dies ist eine nützliche Methode und ich werde sie benutzen. Aber das löst mein Problem nicht. Gibt es eine Möglichkeit, den Cache vollständig zu löschen oder zu deaktivieren? –
Es wurde gelöst. Ich habe No-Cache auf die Homepage festgelegt (ähnliche Vorgehensweise in Page_Load of Logout.aspx). Vielleicht muss ich No-Cache-Option auf die Seite Page_Load der Masterseite festlegen, da es von der Homepage geerbt wird. Habe ich recht? –