使用ViewState 存储自定义对象
2012-04-12 17:42
417 查看
今天在使用ViewState存储一个自定义对象的时候,调试抛出此对象不能被序列化的异常,之前只知道ViewSate保存到客户端的字符串是内部的ViewState通过某种方式序列化之后再进过Base64编码得来的。 预感问题出在使用ViewState存储自定义的对象中,但跟踪调试此语句并没有出现异常,而是在使用ViewSate存储自定义对象语句的方法执行完退出的时候抛出了异常,并且此方法的的异常代码并没有捕获到这个异常。把使用ViewSate存储自定义对象的语句改为使用Session存储,一切正常。于是Google了一下使用ViewSate存储自定义对象的用法,原来当使用ViewState存储一个自定义对象时,ASP.NET必须能够转换成该对象的字节流以便于将对象添加到页面隐藏域中进行保存。这意味着自定义对象必须支持序列化,否则ASP.NET将会抛出异常。 在自定义对象的类定义文件中添加[Serializable] 即可使该类可以序列化,这样就可以将这个类保存到ViewState中。
附上ASP.NET ViewState初探http://www.microsoft.com/china/community/program/originalarticles/techdoc/viewstate.mspx
附上ASP.NET ViewState初探http://www.microsoft.com/china/community/program/originalarticles/techdoc/viewstate.mspx
相关文章推荐
- ASP.Net中用ViewState存储自定义复杂对象后类型转换的一个问题
- ViewState的使用-不利用数据库就能进行存储的问题
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 使用APPlication,Session,Cookie和ViewState等对象保存信息的区别是什么?
- Effective-OC 10.在既有类中使用关联对象存储自定义数据
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象 - lady-奕奕的个人空间 - 开源中国社区
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 使用APPlication,Session,Cookie和ViewState等对象保存信息的区别是什么?
- Android编程——自定义View类onSaveInstanceState与onRestoreInstanceState使用方法
- 使用APPlication,Session,Cookie和ViewState等对象保存信息的区别是什么?
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- iOS NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 关于:“无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。”的问题