Проблема, с которой я сталкиваюсь снова и снова, обрабатывает перенаправление на предыдущую страницу после того, как пользователь выполнил некоторые действия, такие как нажатие ссылки "Назад..." или сохранение записи, которую они редактируют.
Ранее, когда мне нужно было знать, на какой странице вернуться, я бы предоставил параметр returnURL
для моего текущего представления.
http://blah.com/account/edit/1?returnURL="account/index"
Это не очень чистый способ справиться с этой ситуацией, так как иногда URL-адрес возврата содержит такие параметры, как строки поиска и т.д., которые должны быть включены в URL-адрес.
http://blah.com/account/edit/1?returnURL="account/index?search="searchTerm""
Кроме того, это создает проблему, когда пользователь может перейти на другую страницу вперед, прежде чем вернуться на страницу с помощью returnURL
, потому что вам нужно передать returnURL
через все посещенные страницы.
Просто называть функциональность бэкграфа браузера также недостаточно, потому что вам может понадобиться обновить страницу, например. чтобы показать изменения, которые вы только что сохранили на предыдущей странице.
Итак, мой вопрос: кто-нибудь нашел умный способ справиться с такой ситуацией, особенно в среде MVC?
Примечание. Я использую ASP.NET MVC, поэтому, если возможно, мне бы хотелось, чтобы ответы на них были связаны, однако любые идеи приветствуются.