![]() |
1
2
不使用session变量只允许它们访问当前步骤,而是允许它们访问当前或以前的步骤。有点像“你能走多远”的标志。 现在,添加到前面步骤的链接,如面包屑路径。 最后,在持久存储(db、session、xml、bag of holding等)中对已经为该表单输入的数据进行查找。创建一组空白表单数据,用在持久存储中找到的任何内容覆盖它,然后用表单范围本身中的任何内容覆盖它。比如:
现在,如果有人两次点击同一个表单步骤,他们将看到(按优先顺序)他们提交的值,但没有通过验证,来自持久数据存储的值,然后是一个空表单。 |
![]() |
2
2
如果您愿意,可以继续使用会话方法。 为了解决你的主要缺点,你可以稍微改变一下你的逻辑。 在最后一步,确保在会话中找到所有步骤的数据。如果没有,是否将用户重定向到第一个未完成的步骤?不应该太难。 |