Asp .netにページがあります(http://localhost/error/pagenotfound).
ページにリンクがあり、クリックすると、元のページから前のページに戻る必要があります。
<a href="#">Go Back to Previous Page.</a>
履歴から取得して前のページに戻るにはどうすればよいですか
これを使用できます:
<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
Asp.netを使用している場合は、それを覚えておいてください
javascript:history.go(-1)
そして
window.history.back()
両方とも、ページを戻すことができます。
ただし、前のページは正確に前のページではありません。
あなたがDefault.aspx
ページにいて、asp:button
があるとします
ボタンをクリックしてDefault.aspx
に戻ると、
この状況では、前のページはまだDefault.aspxです
別の例を取り上げる
2つのページDefault1.aspx
とDefault2.aspx
があります
条件1:-Default1.aspx
をクリックしてDefault2.aspx
にリダイレクトします
OK前のページはDefault1.aspx
です
条件2:-ボタンはDefault1.aspx
をクリックして、同じDefault1.aspx
ページにポストバックします
前のページはまだDefault1.aspx
です
編集
protected void Page_Load(object sender, EventArgs e)
{
if( !IsPostBack )
{
ViewState["RefUrl"] = Request.UrlReferrer.ToString();
}
}
次のようにバックボタンでこれを使用します
protected void Button3_Click(object sender, EventArgs e)
{
object refUrl = ViewState["RefUrl"];
if (refUrl != null)
Response.Redirect((string)refUrl);
}
前のページに移動する場合
最初の方法
<a href="javascript: history.go(-1)">Go Back</a>
2番目の方法
<a href="##" onClick="history.go(-1); return false;">Go back</a>
1つ以上のステップに戻りたい場合は、増やす
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........
このコードを使用
<html>
<head>
<script>
function goBack()
{
window.history.back()
}
</script>
</head>
<body>
<a href="#" onclick="goBack()">Back</a>
</body>
</html>
この例を見つけました
<input type="button" value=" <-- BACK " onclick="history.go(-1);return false;">
これをページに置くだけで、動作します。
次のようなonclickについての属性を追加する必要があります。
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/>");
}
これはボタンを使用して前のページに移動することに関するもので、変更に応じて変更できます。
शेखरの例に従って
次のことを行い、ポストバック中にURLのサイクルを避けることをお勧めします。
string from = Request.UrlReferrer.ToString();
string here = Request.Url.AbsoluteUri.ToString();
if(from != here)
Session["page"] = Request.UrlReferrer.ToString();
ボタンをクリックして
object refUrl = Session["page"];
if (refUrl != null)
Response.Redirect((string)refUrl);
これにより、常に元のページが保存されます。
それが役に立てば幸い。
私は週末ずっとこれを見ていましたが、探していた答えが見つかりませんでした。問題は、ポストバックhistory.go(-1)の後です。あなたが行きたい場所、つまりそこに行ったページ(変更が加えられた)には戻りません。
Request.UrlReferrer.ToString();を使用するあなたが戻っているページをリロードします。あなたは私のようで、ページに加えられた変更を失いたくないかもしれません。 Rizwan Gillの上では、2013年に2、3、または4ページ戻りたいとの答えが出ましたが、彼はそれを行う良い方法を提供しませんでした。
これを行う最良の方法は、呼び出しページを書いている場合に呼び出されるときにページにポップアップモーダルを実際に使用することですが、この方法でやりたい場合は、それぞれを覚えておく必要がありますポストバックしてカウントします。
したがって、(。aspxファイルの)隠しフィールドから始めます。
<asp:hiddenfield id="fldPostbackCount"
value="0"
runat="server"/>
次に、ポストバックごとに値を増やします(.aspx.vbファイル内):
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()
(私は.csの人々がこれでCへの変換を処理できると確信しています)
.aspxファイルに戻ると、履歴ボタンが必要です。
<a href="javascript:history.go(-<%: fldPostbackCount.Value %>)" title="Back to Previous Page">Back to Previous Page</a>