4 votes

Obtenir le nom de la page précédente en asp.net

Disons que j'ai 3 pages, (origine1.aspx)/(origine2.aspx)/(destination.aspx), et que j'ai un contrôle qui représente arrière J'ai fait des recherches sur le web et j'ai trouvé de nombreuses idées simples et intéressantes, telles que queryString et sessions, mais malheureusement, je n'ai pas réussi à trouver une solution à ce problème. ne doit pas Je n'utilise aucun d'entre eux, alors une aide ?

4voto

Amber Points 159296

Jetez un coup d'œil à Request.UrlReferrer .

2voto

Zhaph - Ben Duguid Points 18573

Vous pourriez utiliser un peu de JavaScript :

<asp:button id="m_BackButton" runat="server" onclientclick="goBack()" />

<script type="text/javascript">
  function goBack(){
    history.go(-1);
  }
</script>

0voto

KeesDijk Points 1718

Vous pourriez aller du côté client avec javascript, mais si vous avez besoin d'aller sur le serveur :

Je ne pense pas qu'il soit très joli mais il fait le travail. Il vous donne aussi beaucoup de puissance.

Tout d'abord, dans la page principale, nous avons un code comme celui-ci pour définir le nom de la page dans une session

if (!IsPostBack)
{
   if (Request.UrlReferrer != null && Request.UrlReferrer.AbsoluteUri != null)
   {
      Session.Add("UrlReferrer", Request.UrlReferrer.AbsoluteUri);
   }
}

Ensuite, nous avons un ashx backhandler avec un code simple comme celui-ci.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    /// <summary>
    /// Summary description for Backhandler
    /// </summary>
    public class Backhandler : IHttpHandler
    {
        private const string DEFAULTPAGE = "MyDdefaultreturnpage.aspx";

        public void ProcessRequest(HttpContext context)
        {
            string previousPage = context.Session["UrlReferrer"] as String  ?? DEFAULTPAGE;
            context.Response.Redirect(previousPage);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Tous les boutons de l'application peuvent faire une redirection vers les fichiers backhandler.ashx. Vous pouvez même mettre cela dans votre css.

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X