Pregunta

Estoy poniendo los datos a una página llamada process.aspx que maneja algo de lógica de negocios con el siguiente código:

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

esta página te llamaré de una variedad de páginas. ¿Hay alguna manera de saber desde qué página fue presentado mi formulario? Estaba pensando en algo en la línea de la escritura:

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

Sin embargo no sé qué escribir en entre el <%= %> para obtener el nombre de la página actual. ¿Alguien puede ayudar por favor?

¿Fue útil?

Solución

Puede capturar la URL de la página que llama y mantenerlo en su Session o ViewState para su uso posterior.

Por ejemplo, en Page_Load,

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

Y luego, en el evento final (quizás Savebutton_Click o CloseButton_Click), se puede hacer una redirección en cualquiera de estas maneras:

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

o

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

También puede obtener la URL de la página de llamada de esta manera:

Request.ServerVariables("HTTP_REFERER")

Otros consejos

Usted podría pasar en ella a través de una propiedad como la ReturnUrl similares cómo una página de registro funciona. Esta es una especie de cómo lo está haciendo allá arriba.

También puede probar a utilizar el HttpContext.Current.Request.UrlReferrer para ver quien lo refirió.

Puede utilizar Request.UrlReferrer.OriginalString para obtener el URI de la página de referencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top