как вернуться на ту же страницу после публикации формы? - PullRequest
0 голосов
/ 16 марта 2010

Я отправляю данные на страницу с именем process.aspx, которая обрабатывает некоторую бизнес-логику со следующим кодом:

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

на эту страницу я буду звонить с разных страниц. Есть ли какой-нибудь способ узнать, с какой страницы была отправлена ​​моя форма? Я думал о чем-то вроде написания:

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

Однако я не знаю, что писать между <%= %>, чтобы получить имя текущей страницы. Может кто-нибудь помочь, пожалуйста?

Ответы [ 3 ]

2 голосов
/ 16 марта 2010

Вы можете захватить URL-адрес вызывающей страницы и удерживать его в Session или ViewState для дальнейшего использования.

Например, в Page_Load,

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

И затем в вашем последнем событии (возможно, Savebutton_Click или CloseButton_Click) вы можете выполнить перенаправление одним из следующих способов:

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

или

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

Вы также можете получить URL-адрес вызывающей страницы следующим образом:

Request.ServerVariables("HTTP_REFERER")
0 голосов
/ 16 марта 2010

Вы можете использовать Request.UrlReferrer.OriginalString, чтобы получить URI ссылающейся страницы.

0 голосов
/ 16 марта 2010

Вы можете передать его через свойство типа ReturnUrl, аналогичное тому, как работает страница входа. Это вроде как ты там делаешь.

Вы также можете попробовать использовать HttpContext.Current.Request.UrlReferrer, чтобы увидеть, кто вас направил.

...