Добавление "предыдущей" ссылки - PullRequest
0 голосов
/ 10 июня 2009

Какой подходящий способ сделать это?

ViewData["PreviousPage"]=Request.UrlReferrer.PathAndQuery;

это не работает при прямом доступе.

РЕДАКТИРОВАТЬ: я сделал нулевую проверку на Request.UrlReferrer, кажется, хорошо (?)

Ответы [ 3 ]

1 голос
/ 10 июня 2009

Есть ли какая-то причина, по которой это должно быть на стороне сервера, а не на стороне клиента? Если вы можете иметь дело со стороной клиента, Javascript является ответом:

<input type=button value="Back" onClick="history.go(-1)">

Используется встроенная в браузер функция возврата - по сути имитирует нажатие кнопки «Назад».

1 голос
/ 10 июня 2009

Если напрямую, то это невозможно. URL-ссылка устанавливается только при нажатии на ссылку.

Если вас интересует только ссылка «Предыдущая страница», работающая на вашем веб-сайте, вы можете сохранить текущий URL-адрес в сеансе и получить его при следующем запросе, а затем заменить его новым текущим URL-адресом. Некрасиво, но работает.

0 голосов
/ 10 июня 2009

Поместите это где-нибудь в свой базовый контроллер или в пользовательский фильтр:

TempData["PreviousPage"] = TempData["CurrentPage"];
TempData["CurrentPage"] = Request.Url;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...