我怀疑为什么要使用ViewState,因为Session可以在整个应用程序中保持其状态。那么为什么需要只将状态保持在单个Page中的ViewState?

最佳答案

首先首先要知道什么是

查看状态
webforms中特定页面的信息。它存储在隐藏字段中。用于保持页面记住他上次所做的操作。

届会
是与特定会话相关的信息。某些浏览器

现在来问你的问题

什么时候使用而不是群集F ......

自从MVC引入以来,我猜所有这些都有各自的优点和缺点,特别是ViewSate是一个缺点。
可以使用viewstate存储值以记住页面每次回发时的情况,当页面处于回发阶段时,它将删除用户控件的所有值。如asp.net中的LabelTextBox。因此,要将您要EnableViewState属性的值保留为true
另一方面,当您希望在页面之间移动时,可以使用会话,以便为所有页面保留特定的值。例如:一个使UserId保持会话状态,以便他可以访问所有需要某种authorizationauthentication的页面

更新资料

当您更改时,我在输入时会提出以下问题:
在这种情况下
会话用于特定时间,而Viewstate不是,因为Viewstate是临时存储机制。使用Controlsviewstate将其state呈现为html页面中的隐藏输入。

希望这会以任何方式对您有所帮助,不要担心会被否决而使用它

关于c# - 您何时可以选择在 session 上使用ViewState?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37495535/

10-13 06:45