¿Cómo vuelvo a la misma página después de registrar un formulario?
-
20-09-2019 - |
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?
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.