我在Session
的页面中存储了一个值(C#)。我在另一个页面中检索Session值并将其存储在ViewState
中。之后,我清除了会话并使用页面中的ViewState执行了一些操作(按钮事件等)。从Session中存储ViewState的值
但是,将会话的值存储到ViewState后,如果刷新浏览器,则ViewState值不可用。因为它尝试从Session中获取值,但它已被清除(第一次)。
我需要一些指导/建议,以适当的方式做到这一点。
我在Session
的页面中存储了一个值(C#)。我在另一个页面中检索Session值并将其存储在ViewState
中。之后,我清除了会话并使用页面中的ViewState执行了一些操作(按钮事件等)。从Session中存储ViewState的值
但是,将会话的值存储到ViewState后,如果刷新浏览器,则ViewState值不可用。因为它尝试从Session中获取值,但它已被清除(第一次)。
我需要一些指导/建议,以适当的方式做到这一点。
刷新浏览器时,先前的请求将再次执行。 在这个时候,会话变量被清除(因为您在保存视图状态后执行此操作)。 其他的方法是在页面之间使用查询字符串传递数据,如果你希望它持久(没有会话)。我认为饼干也可能在这里工作。
通常情况下,会话将更安全和持久。
我无法使用查询字符串和cookie。实际上我在会话中存储了'列表
然后您可以尝试将值保存在隐藏字段中。这将在请求对象内的新页面上可用。如果您“刷新”页面,它也将可用。但在页面发回后,这些值将消失。您可以在回发中使用视图状态。 为什么存储在会话中的任何具体原因不是一种选择? – Amol 2014-08-28 08:44:11
究竟是什么问题? ViewState不可用吗?你是否要求其他地方存储价值? – 2014-08-28 06:37:31
为什么你想要从会话中删除一些值?如果你在Session对象中放置了一些东西,如果没有的话,不要放在那里。 – Mithrandir 2014-08-28 06:37:51
在页面加载中,我将会话值存储到查看状态并清除会话。因为我不想保留这个会话。但是,如果我刷新浏览器,viewstate值不存在。任何其他方式来保持价值...? – Jesuraja 2014-08-28 06:43:10