【发布时间】:2011-05-19 19:45:37
【问题描述】:
我已经习惯了 Post/Redirect/Get 模式,我发现它是一个非常好的过程,而且它似乎也让我更多地考虑页面结构而不是依赖 ASP.Net 事件太频繁了。
我目前正在为一个站点编写一个向导功能,虽然没有使用 ASP.NET 向导控件,但使用 MultiView 更手动地处理它。通常,在过去,对于向导的每个连续步骤,我都希望典型的用户体验是 GET > POST > POST > POST 等。但是我现在正在考虑使用更 P/D/G 的方法,人们是否经常与他们的巫师一起这样做?
我目前的想法是,一旦用户完成了一个步骤并选择继续,包含当前向导信息的会话对象将被保存回会话,然后 GET 重定向将返回向导页面。当向导页面加载时,会询问 Session 对象以确定向用户显示的正确步骤。
我可以看到这有两个好处:
- 它具有 P/R/G 的通常优点,它消除了 刷新问题 并且还
- 用户可以离开向导并返回到它(如果他们的会话仍处于活动状态),他们将被直接带到正确的步骤。
人们认为这是一种更简洁的设计吗?有明显的缺点吗?我在想我可能会变成一个愤世嫉俗的程序员,并更少信任 ASP.Net 和 Postback 生命周期,但这并不是说这种方法会产生更多代码?如果我没有实现它,我将不得不针对用户刷新或尝试导航到他们不应该执行的步骤写入所有检查。
【问题讨论】:
标签: asp.net design-patterns wizard post-redirect-get