Frage

Ich poste Daten auf eine externe Seite process.aspx dass Griffe einige Business-Logik mit dem folgenden Code aufgerufen:

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

Diese Seite werde ich aus einer Vielzahl von Seiten anrufen. Gibt es eine Möglichkeit zu wissen, von welcher Seite meines Formular abgeschickt wurde? Ich war etwas entlang der Linien des Schreibens denken:

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

Allerdings weiß ich nicht, was zwischen dem <%= %> schreiben in die aktuellen Seitennamen zu erhalten. Kann mir jemand bitte helfen?

War es hilfreich?

Lösung

Sie können die anrufende Seite URL erfassen und halten Sie es in Session oder ViewState für die spätere Verwendung.

Zum Beispiel in Page_Load,

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

Und dann in Ihrem letzten Ereignis (vielleicht Savebutton_Click oder CloseButton_Click), können Sie in einem der folgenden Wege eine Umleitung tun:

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

oder

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

Sie können auch die URL der rufenden Seite auf diese Weise erhalten:

Request.ServerVariables("HTTP_REFERER")

Andere Tipps

Sie können in über eine Eigenschaft in es passieren wie das ReturnUrl ähnlich wie ein Zeichen in Seite funktioniert. Dies ist eine Art, wie Sie es dort tun.

Sie können auch versuchen, die HttpContext.Current.Request.UrlReferrer zu verwenden, um zu sehen, wer Sie bezeichnet.

Sie können Request.UrlReferrer.OriginalString verwenden, um die URI der verweisenden Seite zu bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top