gpt4 book ai didi

asp.net - ViewState 在什么时候映射到 Page session ?

转载 作者:行者123 更新时间:2023-12-02 13:17:40 25 4
gpt4 key购买 nike

我试图理解这里事件的顺序。

This page 告诉我,在页面生命周期的某个时刻,ViewState 被映射到页面 session 。

我假设这发生在控件中。 SaveViewState()方法。

谁能告诉我什么时候发生这种情况?

我很担心,因为我看到一些读取 Page_Load 中的 ViewState 变量的代码,并且我认为即使在清除 session 后它仍然返回信息。 (导致我们设置的超时重定向出现问题)

最佳答案

ViewState 在 Init 和 Load1 之间恢复,并在 PreRender 之后保存。因此通过PreRender在Load中使用是有效的。

但是ViewState != Session。 ViewState 与页面表单 相关,而不是 session ,因为它位于隐藏的 __VIEWSTATE 字段2 中。因此,除非在检测到 session 超时时以其他方式“清除”它,否则它仍然会在下一次发布时发布客户端存储的值(可能是小时或天;-)返回。

<小时/>

1 在PreLoad中访问ViewState其实是可以的,ViewState是一个Page可以使用的,但一般Controls是不行的。默认情况下,LoadViewState/TrackViewState 在页面初始化之后完成。 (页面的初始化是在当前层次结构中所有控件的初始化之后完成的。)

2 我相信使用表单是处理 ViewState 的唯一正确方法。但是,它可以使用不同的支持(例如服务器端)来存储/加载。

关于asp.net - ViewState 在什么时候映射到 Page session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10129314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com