web-dev-qa-db-fra.com

Hyperlien pour revenir à la page précédente dans asp .net

J'ai une page dans asp .net (http://localhost/error/pagenotfound).

Il y a un lien dans la page, en cliquant sur ce qui doit revenir à la page précédente d'où je viens.

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

Comment puis-je revenir à la page précédente en prenant de l'histoire

16
user1400915

vous pouvez utiliser ceci:

<a href='javascript:history.go(-1)'>Go Back to Previous Page</a>
29
kleinohad

Si vous utilisez asp.net, rappelez-vous que 

javascript:history.go(-1)

et

window.history.back()

Les deux vous amèneront à la dernière page. 
Mais la page précédente ne sera pas exactement la page précédente.

Par exemple

Supposons que vous soyez à la page Default.aspx et qu’il existe un asp:button
Maintenant, lorsque vous cliquez sur le bouton et que vous revenez sur Default.aspx
Dans cette situation, votre page précédente vous est toujours. Default.aspx

Prenez un autre exemple
Vous avez deux pages Default1.aspx et Default2.aspx
Condition 1 : - le bouton a cliqué sur Default1.aspx qui vous redirige vers Default2.aspx
ok votre page précédente est Default1.aspx
Condition 2 : - Le bouton a été cliqué sur Default1.aspx et posté sur la même page Default1.aspx
Maintenant, votre page précédente est toujours Default1.aspx


Modifier

 protected void Page_Load(object sender, EventArgs e)
 {
     if( !IsPostBack )
     {
        ViewState["RefUrl"] = Request.UrlReferrer.ToString();
     }
  }

et utilisez-le en arrière comme suit

 protected void Button3_Click(object sender, EventArgs e)
 {
      object refUrl = ViewState["RefUrl"];
      if (refUrl != null)
          Response.Redirect((string)refUrl);
 }
22
शेखर

Pour aller à la page précédente

Première méthode

<a href="javascript: history.go(-1)">Go Back</a>

Deuxième méthode

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

si nous voulons plus d'un pas en arrière puis augmenter 

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........
7
Rizwan Gill

utiliser ce code

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

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

    </body>
    </html>
7
Manish Nagar

J'ai trouvé cet exemple

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

Il suffit de mettre ceci votre page, cela fonctionne.

4
alphan

Vous devriez ajouter un attribut qui correspond à onclick comme ci-dessous:

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/>");
}

Il s’agit d’utiliser un bouton pour aller à la page précédente, vous pouvez le modifier en fonction de vos changements.

2
Stack User

Suivant l'exemple de

Je suggérerais de faire ce qui suit et d'éviter tout cycle sur l'URL lors de la publication.

string from = Request.UrlReferrer.ToString();
string here = Request.Url.AbsoluteUri.ToString();

if(from != here)
    Session["page"] = Request.UrlReferrer.ToString();

Sur votre bouton, cliquez

object refUrl = Session["page"];
if (refUrl != null)
    Response.Redirect((string)refUrl);

Cela économisera toujours la page de laquelle vous venez.

J'espère que ça aide.

0
Brian Santacruz

J'ai regardé tout ce week-end et je n'ai pas trouvé la réponse que je cherchais. Le problème est, après une histoire postback.go (-1); ne reviendra pas à l’endroit où vous voulez aller - c’est la page qui vous y a conduit (avec les modifications apportées).

Using Request.UrlReferrer.ToString (); rechargera la page à laquelle vous revenez et vous pourriez être comme moi et ne pas vouloir perdre les modifications apportées à la page. Au-dessus de Rizwan Gill en 2013, vous avez répondu que vous souhaitiez revenir en arrière sur 2, 3 ou 4 pages, sans donner le moyen de le faire.

La meilleure façon de faire est d’utiliser un modal contextuel pour votre page quand elle est appelée si vous écrivez la page d’appel mais si vous voulez le faire de cette façon et que vous avez un bouton Précédent, vous devrez vous souvenir de chaque postback et les compter.

Commencez donc par votre champ caché (dans votre fichier .aspx):

    <asp:hiddenfield id="fldPostbackCount"
        value="0" 
        runat="server"/>

Puis incrémentez la valeur à chaque publication (dans votre fichier .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() 

(Je suis sûr que les personnes .cs peuvent gérer la conversion en C à ce sujet) 

Revenons maintenant à votre fichier .aspx, vous devez avoir un bouton d'historique:

    <a href="javascript:history.go(-<%: fldPostbackCount.Value %>)" title="Back to Previous Page">Back to Previous Page</a>
0
Mark Ludwinski