ASP.net Перенаправление на страницу вызова - PullRequest
7 голосов
/ 28 июня 2011

У меня есть страница, которая вызывает другую страницу с некоторыми параметрами строки запроса. Я хочу вернуться на эту страницу после нажатия кнопки.

Я должен упомянуть, что я пишу этот код в пользовательском элементе управления, и я не знаю, на какой странице эта вторая страница называется.

Есть ли что-то вроде кнопки Назад в браузерах?

Ответы [ 4 ]

12 голосов
/ 28 июня 2011

Простейший способ - использовать javascript на стороне клиента с

window.back();

. На стороне сервера вам необходимо сохранить URL-ссылку в page_load:

if(!Page.IsPostback)
{
  ViewState["GoBackTo"] = Request.UrlReferrer;
}

и нажать кнопку, используя Response.Редирект:

Response.Redirect( ViewState["GoBackTo"].ToString() );

edit : обратите внимание на комментарий ppumkin ниже!

3 голосов
/ 28 июня 2011

Вы можете посмотреть на Кросс-постинг .

В качестве альтернативы, если вы генерируете ссылку программно, вы можете включить returnUrl в URL, например, http://localhost/secondpage.aspx?returnurl=firstpage.aspx

Затем вы можете прочитать этот параметр строки запроса на второй странице и выполнить переадресацию после завершения работы.

2 голосов
/ 28 июня 2011

Вы можете использовать Request.UrlReferrer, но он не обязательно постоянно отправляется клиентом:

        Response.Redirect(Request.UrlReferrer.AbsoluteUri);
1 голос
/ 05 июня 2014

поместите эту строку кода в событие загрузки страницы

 Btn_Back.Attributes.Add("onClick", "javascript:history.back(); return false;");
...