Как сделать 2 шага назад по истории браузера, используя перенаправление внутри действия в контроллере MVC? - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу знать, как сделать шаг назад на 2 шага по истории браузера, используя перенаправление внутри действия в контроллере MVC?

У меня есть этот код на моем контроллере, пост-действие, которое возвращает 1 шаг назадна истории:

return Redirect(Request.UrlReferrer.ToString());  

Но мне нужно вернуться на 2 шага.

Никакое решение на клиенте не решает мою проблему, потому что мне нужно использовать внутри Action на моем контроллере.Я надеюсь, что что-то похожее на .history (-2) на клиенте, при использовании JavaScript.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 21 сентября 2018

Предполагается, что ваш контроллер будет управлять вашей моделью и вашим видом, а не браузером.

Если вам нужно такое поведение, вам придется отслеживать историю пользователей внутри вашего приложения.Если пользователь аутентифицирован, вы можете прикрепить список его последних n # действий контроллера к объекту пользователя и использовать такую ​​информацию, как хлебные крошки.Затем вы будете перенаправлять их по мере необходимости из вашего собственного списка.Если пользователь не аутентифицирован, вы можете разобраться с переменными сеанса.

Все это будет сложнее, если у вас есть что-то другое, чем действия HTTP GET, потому что вам также придется сохранять любые переменные формы и использовать их повторно.

Возможно, было бы неплохо переосмыслить бизнес-логику, стоящую за необходимостью вернуться на 2 страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...