asp.net - 存储在 View 状态中的项目的生命周期是多少?

标签 asp.net

昨天我进行了一次采访,小组问了我这个问题。

最佳答案

存储在 View 状态中的项目作为隐藏控件中的 HTML 传输到客户端的浏览器,并在用户从该页面发布时发送回服务器(来自不可或缺的 ViewState: All You Wanted to Know 的详细信息):

1) ASP.NET 开始呈现页面。当前 ViewState 中的所有对象都使用如下所示的自定义格式进行序列化:t<1234567890;t<p<l<prpA;prpB;prpC;>;l<valA;valB;valC;>>;
2) 该序列化数据被编码并写入 ASP.NET 页面表单上的 HTML 隐藏控件,它看起来像这样(模拟数据): dDwxMjM0NTY3ODkwO3Q8cDxsPHBycEE7cHJw
3) 此时,项目隐藏在客户端的浏览器中:您可能会说它们正在“休眠”。

4) 如果客户端发布页面,ASP.NET 再次将 View 状态数据解码并反序列化为对象,并且它们“存活”直到请求结束(或直到它们被写入另一个页面)。

关于asp.net - 存储在 View 状态中的项目的生命周期是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832657/

相关文章:

c# - 如何获取 Entity Framework 中的特定列

asp.net - IE8 后退按钮在 ASP .NET 页面上停止工作

C#:有什么工具可以自动从类生成接口(interface)?

ASP.NET图表控件多系列数据绑定(bind)

jquery - 使用 jquery 更改隐藏字段值并在服务器中获取新值

c# - asp.net 如何在行与行之间添加分隔符

javascript - 如何使用 jquery 使 div 可见?

.net - 获取asp.net中上一个页面的名称

c# - 如何强制 WebService 引用实现公共(public)接口(interface)?

c# - 我可以在某些情况下关闭模拟吗