Question

Je souhaite publier des données sur une page appelée process.aspx qui gère une logique d'affaires avec le code suivant:

<%@ Page Language="C#" %>
<%
    MyData.process(Request);
    Response.Redirect("")
%>

ce que je vais demander à partir d'une variété de pages. Est-il possible de savoir à partir de quelle page mon formulaire a été envoyé? Je pensais quelque chose le long des lignes d'écriture:

 <form id="frmSystem" method="post" action="process.aspx?page=<%=  %>">

Cependant, je ne sais pas quoi écrire entre le <%= %> pour obtenir le nom de la page courante. Quelqu'un peut-il aider s'il vous plaît?

Était-ce utile?

La solution

Vous pouvez capturer la page d'appel URL et maintenez-le dans Session ou ViewState pour une utilisation ultérieure.

Par exemple, dans Page_Load,

Session["PreviousPage"] = Request.Url.ToString();

Et puis dans votre dernier événement (peut-être Savebutton_Click ou CloseButton_Click), vous pouvez faire une redirection dans l'une des façons suivantes:

Server.Transfer(Session["PreviousPage"].ToString(), false);

ou

Response.Redirect(Session["PreviousPage"].ToString(), false);

Vous pouvez également obtenir l'URL de la page d'appel de cette façon:

Request.ServerVariables("HTTP_REFERER")

Autres conseils

Vous pouvez passer dans via une propriété comme le ReturnUrl similaire comment une page de connexion fonctionne. Ce genre est de la façon dont vous le faites là-haut.

Vous pouvez également essayer d'utiliser le HttpContext.Current.Request.UrlReferrer pour voir qui vous a référé.

Vous pouvez utiliser Request.UrlReferrer.OriginalString pour obtenir l'URI de la page visitée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top