Обнаружение обновления страницы / клавиша F5 в ASP.NET MVC 2 - PullRequest
1 голос
/ 28 мая 2010

Как можно было бы обнаружить обнаружение обновления страницы / нажатия клавиши F5 на контроллере, обрабатывающем обратную передачу? Мне нужно различать пользователя, нажимающего одну из двух кнопок (например, Далее, Назад), и когда происходит обновление страницы F5 /.

Мой сценарий - это отдельная страница мастера, содержимое которой отображается по-разному при каждом вызове пользователя нажатием кнопок «Далее» или «Предыдущий». Ошибка, с которой я сталкиваюсь, заключается в том, что когда пользователь обновляет страницу / нажимает клавишу F5, браузер повторно отправляет запрос обратно в контроллер, который обрабатывается как постбэк, и тип FormCollection используется для поиска «submitButton» ключ и получить его значение (например, «Next», «Send»). Эта часть была смоделирована после публикации Дилана Битти в Как вы обрабатываете несколько кнопок отправки в ASP.NET MVC Framework? .

Может быть, я пытаюсь согнуть MVC 2 туда, куда он не должен идти, но я бы хотел остаться с текущим дизайном, в котором базовая база данных управляет содержанием и порядком того, что показано. Это позволяет нам добавлять новый контент в базу данных без изменения кода, отображающего контент.

Спасибо, Michael

1 Ответ

5 голосов
/ 28 мая 2010

Рекомендуется использовать шаблон PRG - Post-Redirect-Get. Значение: после отправки перенаправить клиента в Index или что-либо еще, вызывая только перезагрузку Index, когда пользователь нажимает F5, а не повторную публикацию данных.

Проверьте это: http://en.wikipedia.org/wiki/Post/Redirect/Get

А это: http://www.google.sk/search?q=prg+mvc+asp.net

...