Реализация паттерна post redirect get

Darooma
Дата: 22.05.2010 17:10:04
MVC 2

Пользователь на странице со статьей (showarticle) добавляет к ней комментарий. Его переадресует с помощью post на verify, затем get'ом на success, после этого снова на showarticle. Таким образом реализуется паттерн Post redirect get.


Post-redirect-get. 
Если тело коммента не прошло валидацию на verify, то идет переадресация снова на showarticle с указанием ошибки

Как передать в success параматеры: Id статьи и комментария , чтобы сделать автомаческую переадресацию на showarticle. Через через адресную строку не нужно, надо более красивое решение
Зачем? Чтобы на success можно было попасть только было попасть только через добавление коммента, но не напрямую через адресную строку
SanSYS
Дата: 22.05.2010 23:32:04
В фейсбуке реализовано сохранения состояния и истории редиректов в сессии, т.е. пользователь видит вполне нормальные урл, а инфа о редиректе хранится не в адресе, а именно в сессии, только не забывать чистить эту инфу :)
ShSerge
Дата: 23.05.2010 10:17:32
Post-redirect-get.
Этот механизм юзают все разработчики вэб, чтобы исключить повторную отправку и, соответственно, повторный инсерт, или ещё чего. У Вас же имеется "лишняя" ступенька - "success".
Darooma
Дата: 23.05.2010 22:25:13
ShSerge, лишнего ничего нет.
1. ShowArticle - post на verify
2. Если верификация прошла - get на success, а затем снова на ShowArticle
3. Если верификация не прошла - возвращаемся на ShowArticle с текстом ошибки

Итого: ShowArticle->verify->success
Darooma
Дата: 23.05.2010 22:27:41
Я уже реализовал это через TempData
В чем различие между TempData и ViewData ?
griZZZly
Дата: 28.05.2010 15:15:56
Darooma,

TempData чистится после каждого поста.