我在MVC中进行测验。在回答完所有问题后,在测验完成后将结果写入数据库。到目前为止一切都很好。
有多选和单选的问题 答案和问题来自数据库,随着时间的推移会发生变化。
在测验期间,我会通过几个会话来跟踪用户的回复
我有一个int(索引)来跟踪哪个问题是当前的,prev。而下一个。
我有一个List< -int-> with QuestionID's。
我有一个List< -List< -int-> - >使用answers-id所以我可以看到哪些答案适合哪个问题。
只要用户使用我的“上一个问题”和“下一个问题”按钮,一切都会非常顺利,但如果用户使用“后退”和“前进”按钮,则会破坏我的索引。
所以我的问题是如何防止这种情况发生?
我可以强制用户回到“家”,清除会话并重新开始,如果他按下后退按钮吗?
如果您需要更多信息,请告诉我......
答案 0 :(得分:0)
在webforms中,我会将“当前索引”添加到ViewState,并将我的Session索引重置为该值(如果存在)。
MVC没有ViewState,所以也许你可以使用<input type=hidden>
来获得类似的效果。