【问题标题】:Keeping track of multiple ID's in a Quiz using Sessions使用会话跟踪测验中的多个 ID
【发布时间】:2012-03-14 23:41:20
【问题描述】:

我正在 MVC 中进行测验。回答完所有问题后,测验完成后将结果写入数据库。到目前为止一切顺利。

有选择题和单选题。
答案和问题取自数据库,并且会随着时间而改变。

在测验期间,我通过使用几个会话来跟踪用户的回复。
我有一个 int (索引)来跟踪哪个问题是当前的,上一个。以及下一个。
我有一个带有 QuestionID 的 List。
我有一个带有答案 ID 的 List->,所以我可以看到哪些答案适合什么问题。

只要用户使用我的“上一个问题”和“下一个问题”按钮,一切都很顺利,但如果用户使用“后退”和“前进”按钮,它会破坏我的索引。

所以我的问题是如何防止这种情况发生?

如果用户按下返回按钮,我可以强制用户返回“家”,清除会话并重新开始吗?

如果您需要更多信息,请告诉我...

【问题讨论】:

    标签: asp.net-mvc model-view-controller session cookies


    【解决方案1】:

    在网络表单中,我会将“当前索引”添加到 ViewState 并将我的会话索引重置为该值(如果存在)。

    MVC 没有 ViewState,所以也许你可以使用 <input type=hidden> 来获得类似的效果。

    【讨论】:

    • 跟踪索引没问题。当用户在浏览器中使用后退(和前进)按钮时,它会变得混乱。
    • @PaludaN - 当用户使用浏览器的后退按钮时,他获得了“currentindex”的前一个值。所以你可以重置会话的“当前索引”的想法。
    猜你喜欢
    • 1970-01-01
    • 2014-04-25
    • 2012-11-07
    • 2015-12-14
    • 1970-01-01
    • 2016-05-19
    • 2011-05-19
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多