我有一个简单的类,其中包含一些属性和其他数据。如果我不使用Serializable属性将其附加到该类,则无法将该类的对象保存到ViewState中。
为什么ViewState只能包含可序列化的对象?
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
本文将全面介绍状态的完整生命周期,并从开发人员的角度详细介绍其实现和使用。
之所以需要存储在视图状态中的数据进行序列化(和反序列化),是因为视图状态本质上只是文本,因此存储在其中的任何内容都需要能够表示为文本,并且能够从序列化的文本中重构为对象形式。
因此,视图状态中存储的数据需要进行序列化,以便在页面回发时能够正确地恢复状态。