Viewstate not work in ObjectDataSource Select Method

"If you don’t want the control to create and destroy instances, you can override the default behaviour capturing the Creating and Disposing events. If you supply a value for the argument ObjectInstance, the control will use this object instead of creating a new instance. If you set the Cancel argument of the Disposing event, the control won’t try to dispose the object."

My select and update methods are instance methods that belong to the page itself.  Which is to say the TypeName is the type of the object datasource's page.  By default the object datasource creates a new instance of the class set in TypeName and then calls the appropriate method.  By putting this code in my page, I was able to have access to ViewState inside those methods.

        protected void ObjectDataSource_ObjectDisposing(object sender, ObjectDataSourceDisposingEventArgs e)
        {
            e.Cancel = true;
        }

        protected void ObjectDataSource_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
        {
            e.ObjectInstance = this;
        }

Now the object data source uses the current page instance which means you can access ViewState, controls, and custom page properties.

posted @   StarWang  阅读(255)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示