[Serializable]DataSetBase:DataSet写入ViewState后不能读出来,为什么呀?请教思归孟子等高手

阿拉丁 2003-10-20 07:22:06
定义:
[Serializable]
public class DataSetBase : DataSet
{...}

应用
DataSetBase myDS = new DataSetBase();
//myDS赋值
ViewState["myds"] = myDS ; //没问题

myDS = (DataSetBase)ViewState["myds"]; //这句话出错
如果不加[Serializable],错误为:
The type 'Ammic.DataSetBase' must be marked as Serializable or have a TypeConverter other than ReferenceConverter to be put in viewstate.

如果加上[Serializable],错误为:
The View State is invalid for this page and might be corrupted.

如果将ViewState改成Session,,则运行正常没有错误。
请问:DataSet继承后能否继续使用ViewState?什么原因?怎么改?
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿拉丁 2003-11-01
  • 打赏
  • 举报
回复
3x, I'll try
513 2003-10-31
  • 打赏
  • 举报
回复
我无法看到你的DataSetBase类,你在其中实现借口ISerializable
时调用一下base.GetObjectData
具体在msdn中查一下GetObjectData(DataSet的GetObjectData)
阿拉丁 2003-10-24
  • 打赏
  • 举报
回复
再顶顶看
阿拉丁 2003-10-21
  • 打赏
  • 举报
回复
能否说的详细点,或者给些文档和链接
513 2003-10-20
  • 打赏
  • 举报
回复
关键是DataSetBase
如果序列化类的父类实现 ISerializable,对基类调用 GetObjectData 的实现。
课程简介: 课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程。对于难以理解的知识点,全部用画图+实战的方式讲解。 第一部分:彻底明白事务的四个特性:原子性、一致性、隔离性、持久性,用场景和事例来讲解。 第二部分:实战讲数据库事务的6中并发异常:回滚丢失、覆盖丢失、脏读、幻读、不可重复读、MVCC精讲。 第三部分:彻底搞清楚4种事务隔离级别:READ_UNCOMMITTED 读未提交隔离级别、READ_COMMITTED 读已提交隔离级别、REPEATABLE_READ 可重复度隔离级别、SERIALIZABLE 序列化隔离级别 第四部分:彻底搞清楚MySQL的各种锁:行锁、表锁、共享锁、排它锁、Next-Key锁、间隙锁、X锁、S锁、IS锁、IX锁、死锁、索引与锁、意向锁等。 第五部分:彻底搞清楚Spring事务的7种传播级别的原理和使用:PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS、PROPAGATION_MANDATORY、PROPAGATION_REQUIRES_NEW、PROPAGATION_NOT_SUPPORTED、PROPAGATION_NEVER、PROPAGATION_NESTED分布式事务的理论基础:RPC定理、BASE理论、XA协议都是什么,原理是什么,有什么关联关系 第六部分:分布式事务的5种解决方案原理和优缺点:2PC两阶段提交法、3PC三阶段提交法、TCC事务补偿、异步确保策略、最大努力通知策略 第七部分:阿里巴巴分布式事务框架Seata:历经多年双十一,微服务分布式事务框架,用一个Nacos+Spring Cloud+Seta+MySql的微服务项目,实战讲解阿里的分布式事务技术,深入理解和学习Seata的AT模式、TCC模式、SAGA模式。 课程资料: 课程附带配套2个项目源码72页高清PDF课件一份阿里巴巴seata-1.1.0源码一份阿里巴巴seata-server安装包一份

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧