在会话状态存储字典好坏?

时间:2014-05-12 14:54:01

标签: asp.net vb.net dictionary session-variables session-state

所以我有一个网页,有大约30-40个不同的控件(主要是单选按钮和复选框),用户可以选择这些控件作为新设备的IT请求的一部分。我将所有这些数据存储在字典中,然后将其传递到数据库中。

此页面上还有一个名为“下一步”的按钮,单击此按钮会转到另一个页面,该页面会在浏览器中显示他们在上一页上所选内容的水晶报表。这允许他们打印报告,或保存或提交给HR。

在报告页面上是“上一个”按钮,点击该按钮会将它们带回到他们选择所有不同选项的页面。

我的问题是:当我点击上一个按钮时,不同控件的选择将丢失。所以我考虑将我的字典添加到会话变量中,这样在“上一次”点击时,我可以保留该数据并将控件设置为他们所选择的内容。

这是个好主意吗?为什么或为什么不呢?

是否有其他方法可以保留您建议的控制数据?

1 个答案:

答案 0 :(得分:0)

我不建议使用Session来保存这种信息。

缺点:

  1. 无法打开多种表格;
  2. 未输入字典中的值。
  3. 解决方案:

    1. 已将其保存在数据库中,状态为incomplete(例如,使用SessionId进行检索);
    2. 将信息存储在ViewState(随页面移动);
    3. 使用class并将其存储在Session