ViewState的使用问题

rularys 2012-09-21 03:18:46
有什么办法能让继承自某个特定基类的C#类型的所有属性都能自动利用ViewState来管理会话数据么?

我想到的办法:
让基类来管理属性的ViewState保存和加载:
在基类中用反射获取到对象实例的所有的属性及其值,然后在适当的时机保存到ViewState或者从ViewState加载数据设置属性值。这样继承了该类的子类就不必再显式地管理ViewState的保存和加载了。

不过我对反射不熟悉,不知道这样的想法行不行得通?试着实现,但是问题多多;或者压根不该用这样的方法?
对于使用ViewState的所有类,它们都继承自同一个基类,这个是可以保证的。

对每增加一个属性就有可能要为其写 ViewState 的保存和加载代码实在是不赞成,这样机械的重复运动实在不适合人工。

有没有好的建议?
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rularys 2012-09-21
  • 打赏
  • 举报
回复
正是对ViewState的管理才引发对 “动态的维护类中的属性或者方法”的需求。这里ViewState 不是特指当前页的ViewState属性,而是指当前对象存储在ViewState中的值集。

在 " System.Web.UI.UserControl "或者"System.Web.UI.Page"类中有两个可以重写的函数: SaveViewState 和 LoadViewState ,就是专门用来管理对象的页面状态的,我想的是在一个基类之中重写这两个函数,并对继承自该基类的子类的所有需要进行 ViewState 管理的属性或者字段进行管理,这样子类之中就不必再重写一遍 "SaveViewState" 和 "LoadViewState"了。
  • 打赏
  • 举报
回复
如果是想动态的维护类中的属性或者方法,可以利用反射来实现,和ViewState有什么关系?再者,ViewState当前页面有效.

62,074

社区成员

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

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

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

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