2012-01-20 2 views
2

Итак, я использую MVC3, и мне известен следующий код для возврата на исходную страницу. Местоположение, в котором ранее был пользователь.ASP.NET MVC3: кнопка «Назад» не работает

<input type="button" class="cancel" value="Back" onclick="location.href='@Request.UrlReferrer.ToString()'"/> 

Так у меня есть кнопка Submit, и кнопка отмены, как указано выше ..

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

Таким образом, кнопка отмены срабатывает, как ожидается, так как она просто обновляет страницу.

  1. Как решить эту проблему?

  2. Есть ли простой способ передать поисковый url через вид, а затем отредактировать страницу, чтобы я мог вернуться к ней после навигации по нескольким страницам? Без необходимости создавать и отправлять параметры на каждой странице.

ответ

2

Код, который вы используете, является ненадежным. Вы не можете гарантировать 100%, что он всегда будет работать. У вас будут такие ситуации, как этот.

Есть решения, но они неуклюжи и боль. Лучше просто спроектировать свой сайт, чтобы они не были нужны. Например, вы можете передать возвращаемый url как запрос.

+0

+1 Обратный URL как параметр строки запроса является хорошим методом –

+0

Я предполагаю, что каждый абзац отвечает на каждый вопрос. Когда я заметил проблему, я удалил все переадресации такого рода и заменил альтернативы. Как сохранение изменения, вы попадаете на страницу просмотра этого элемента. Что касается URL, это хорошая идея. Единственный способ, которым я это знаю, это разоблачить его через viewbag, а затем передать в качестве запроса на каждом нажатии кнопки/кнопки. Для каждого действия контроллера он проходит. Это были черты, над которыми я решил жить без. Но другие члены моей команды чувствуют себя совершенно иначе, так как считают, что это легко сделать. – Doomsknight

Смежные вопросы