Я привыкаю к шаблону Post / Redirect / Get, я нахожу это очень хорошей процедурой, и она, кажется, заставляет меня больше думать о структуре страницы, а не , полагаясь на события ASP.Netчасто.
В настоящее время я пишу функцию мастера для сайта, хотя и не использую элемент управления ASP.NET Wizard, но обрабатываю его более вручную с помощью MultiView.Обычно в прошлом я ожидал, что типичный пользовательский интерфейс будет GET> POST> POST> POST и т. Д. Для каждого последующего шага мастера.Однако сейчас я думаю о том, чтобы использовать более P / D / G подход, часто ли люди делают это со своими волшебниками?
В настоящее время я думаю, что после выполнения шагаПользователь, и они решают продолжить, мой объект сеанса, содержащий текущую информацию мастера, будет сохранен обратно в сеанс, а затем перенаправление GET будет выполнено обратно на страницу мастера.Когда страница мастера загружается, объект Session запрашивается, чтобы определить правильный шаг для отображения пользователю.
В этом я вижу два хороших преимущества:
- в том, что он поставляется собычное преимущество P / R / G и устраняет проблему Refresh , а также
- пользователь может отойти от мастера и вернуться к нему (если егосеанс все еще активен), и они будут приняты прямо к правильному шагу.
Считают ли люди это более чистым дизайном?Есть ли очевидные недостатки?Я думаю, что могу превратиться в более циничного программиста и меньше доверять ASP.Net и жизненному циклу Postback, но это не так, если этот подход приведет к гораздо большему количеству кода?Если бы я не реализовал это, мне пришлось бы писать во всех проверках, чтобы пользователь обновлял или пытался перейти к шагам, которые он не должен делать.