21

asp .netにページがあります(http://localhost/error/pagenotfound).

ページにリンクがあり、クリックすると、元のページから前のページに戻る必要があります。

<a href="#">Go Back to Previous Page.</a> 

履歴から取得して前のページに戻るにはどうすればよいですか

4

9 に答える 9

37

あなたはこれを使うことができます:

<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
于 2012-12-26T08:27:45.210 に答える
31

asp.netを使用している場合は、次のことを覚えておいてください。

javascript:history.go(-1)

window.history.back()

どちらもバックページに移動します。
ただし、前のページは正確に前のページではありません。

例えば

あなたがページDefault.aspxにいasp:button
て、ボタンをクリックしてDefault.aspx
この状況に戻ったときに、前のページがまだDefault.aspxであると仮定します。

別の例
を見てみ ましょう。2つのページがDefault1.aspxあり、Default2.aspx
条件1:-ボタンをクリックすると 、前のページをOKDefault1.aspxにリダイレクトされます。条件2:-ボタンをクリックして、同じページ に投稿します。これで、前のページは引き続き表示されます。Default2.aspx
Default1.aspx
Default1.aspxDefault1.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);
 }
于 2012-12-26T09:02:49.887 に答える
7

このコードを使用してください

    <html>
    <head>
    <script>
    function goBack()
      {
      window.history.back()
      }
    </script>
    </head>
    <body>

    <a href="#" onclick="goBack()">Back</a>

    </body>
    </html>
于 2012-12-26T08:37:37.117 に答える
4

この例を見つけました

<input type="button" value=" &lt;-- BACK " onclick="history.go(-1);return false;">

これをあなたのページに置くだけで、うまくいきます。

于 2014-03-27T12:28:33.883 に答える
2

以下のように 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/>");
}

これは、ボタンを使用して前のページに移動することに関するもので、変更に応じて変更できます。

于 2012-12-26T09:11:10.823 に答える
0

週末ずっとこれを見ていましたが、探していた答えが見つかりませんでした。問題は、ポストバック history.go(-1); の後です。行きたい場所、つまりそこにたどり着いたページ(変更が加えられたページ)には戻りません。

Request.UrlReferrer.ToString(); の使用 戻るページをリロードします。あなたは私のようで、ページに加えられた変更を失いたくないかもしれません。2013 年に Rizwan Gill の上で、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>
于 2017-07-24T13:11:21.397 に答える