Domanda

sto postando dati a una pagina chiamata process.aspx che gestisce una logica di business con il seguente codice:

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

questa pagina sarò chiamando da una varietà di pagine. C'è qualche modo di sapere da quale pagina mia forma è stata presentata? Stavo pensando qualcosa del tipo di scrittura:

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

Comunque non so cosa scrivere tra il <%= %> per ottenere il nome della pagina corrente. Chiunque può aiutare per favore?

È stato utile?

Soluzione

È possibile catturare l'URL della pagina chiamata e tenerlo in Session o ViewState per un uso successivo.

Per esempio, in Page_Load,

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

E poi nel vostro evento finale (forse Savebutton_Click o CloseButton_Click), si può fare un redirect in uno dei seguenti modi:

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

o

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

È anche possibile ottenere l'URL della pagina chiamante in questo modo:

Request.ServerVariables("HTTP_REFERER")

Altri suggerimenti

Si potrebbe passare in tramite una proprietà come la ReturnUrl simile come una pagina di accesso funziona. Questa è una specie di come si sta facendo lassù.

Si potrebbe anche provare a utilizzare il HttpContext.Current.Request.UrlReferrer per vedere che ti ha fatto.

È possibile utilizzare Request.UrlReferrer.OriginalString per ottenere l'URI della pagina di riferimento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top