Ich habe eine Seite in asp .net (http://localhost/error/pagenotfound).
Es gibt einen Link auf der Seite, auf den Sie klicken müssen, um zur vorherigen Seite zurückzukehren, von der ich gekommen bin.
<a href="#">Go Back to Previous Page.</a>
Wie kann ich zur vorherigen Seite zurückkehren, indem ich die Historie nehme
sie können dies verwenden:
<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
Wenn Sie asp.net verwenden, denken Sie daran
javascript:history.go(-1)
und
window.history.back()
Beides bringt Sie zur Rückseite.
Die vorherige Seite ist jedoch nicht genau die vorherige Seite.
Angenommen, Sie befinden sich auf der Seite Default.aspx
und es gibt einen asp:button
Wenn Sie jetzt auf die Schaltfläche klicken, sind Sie wieder bei Default.aspx
In dieser Situation ist Ihre vorherige Seite immer noch Default.aspx
Nehmen Sie ein anderes Beispiel
Sie haben zwei Seiten Default1.aspx
und Default2.aspx
Bedingung 1 : - Taste geklickt auf Default1.aspx
, die Sie zu Default2.aspx
weiterleitet
ok Ihre vorherige Seite ist Default1.aspx
Bedingung 2 : - Taste auf Default1.aspx
geklickt und auf derselben Default1.aspx
-Seite erneut veröffentlicht
Jetzt ist Ihre vorherige Seite noch Default1.aspx
Bearbeiten
protected void Page_Load(object sender, EventArgs e)
{
if( !IsPostBack )
{
ViewState["RefUrl"] = Request.UrlReferrer.ToString();
}
}
und verwenden Sie diese Schaltfläche in der hinteren Taste wie folgt
protected void Button3_Click(object sender, EventArgs e)
{
object refUrl = ViewState["RefUrl"];
if (refUrl != null)
Response.Redirect((string)refUrl);
}
Zur vorherigen Seite wechseln
Erste Methode
<a href="javascript: history.go(-1)">Go Back</a>
Zweite Methode
<a href="##" onClick="history.go(-1); return false;">Go back</a>
wenn wir mehr als einen Schritt zurückgehen wollen, dann erhöhen
For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on........
verwenden Sie diesen Code
<html>
<head>
<script>
function goBack()
{
window.history.back()
}
</script>
</head>
<body>
<a href="#" onclick="goBack()">Back</a>
</body>
</html>
Ich habe dieses Beispiel gefunden
<input type="button" value=" <-- BACK " onclick="history.go(-1);return false;">
Setzen Sie diese Seite einfach auf Ihre Seite, sie funktioniert.
Sie sollten ein Attribut hinzufügen, das sich wie folgt auf "onclick" bezieht:
protected void Page_Load(object sender, EventArgs e)
{
yourButton.Attributes.Add("onClick", "javascript:history.back(); return false;");
}
protected void yourButtonClick(object sender, EventArgs e)
{
Response.Write("Stackoverflow <br/>");
}
Hier geht es um die Verwendung einer Schaltfläche, um zur vorherigen Seite zu gelangen. Sie können sie entsprechend Ihren Änderungen ändern.
Dem Beispiel von शेखर folgen
Ich würde vorschlagen, Folgendes zu tun und jeden Zyklus auf der URL während des Zurücksenden zu vermeiden.
string from = Request.UrlReferrer.ToString();
string here = Request.Url.AbsoluteUri.ToString();
if(from != here)
Session["page"] = Request.UrlReferrer.ToString();
Klicken Sie auf Ihre Schaltfläche
object refUrl = Session["page"];
if (refUrl != null)
Response.Redirect((string)refUrl);
Dadurch wird immer die SEITE gespeichert, von der Sie kommen.
Ich hoffe es hilft.
Ich habe mir das ganze Wochenende angeschaut und habe die Antwort nicht gefunden, nach der ich gesucht habe. Das Problem ist nach einem Postback history.go (-1); geht nicht dorthin zurück, wo Sie hin möchten - dh die Seite, die Sie dorthin gebracht hat (mit den vorgenommenen Änderungen).
Verwendung von Request.UrlReferrer.ToString (); wird die Seite neu laden, zu der Sie zurückkehren, und Sie sind möglicherweise wie ich und möchten keine Änderungen verlieren, die an der Seite vorgenommen wurden. Oberhalb von Rizwan Gill im Jahr 2013 kam die Antwort, dass Sie 2, 3 oder 4 Seiten zurückkehren möchten, aber er hat keine gute Möglichkeit dafür gegeben.
Der beste Weg, dies zu tun, ist die Verwendung eines Popup-Modals für Ihre Seite, wenn diese aufgerufen wird, wenn Sie die aufrufende Seite schreiben, aber wenn Sie dies auf diese Weise tun möchten und über eine Zurück-Schaltfläche verfügen, müssen Sie sich jeweils daran erinnern postback und zählen sie.
Beginnen Sie also mit Ihrem versteckten Feld (in Ihrer ASPX-Datei):
<asp:hiddenfield id="fldPostbackCount"
value="0"
runat="server"/>
Erhöhen Sie dann den Wert mit jedem Postback (in Ihrer ASPX.VB-Datei):
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
fldPostbackCount.Value = 1
Else
fldPostbackCount.Value = Int32.Parse(fldPostbackCount.Value) + 1
End If
End Sub ' Page_Load()
(Ich bin sicher, dass die .cs-Leute die Konvertierung in C auf diese Weise erledigen können.)
Nun zurück zu Ihrer ASPX-Datei, müssen Sie eine Schaltfläche "Verlauf" haben:
<a href="javascript:history.go(-<%: fldPostbackCount.Value %>)" title="Back to Previous Page">Back to Previous Page</a>