ASP.NET 2.0:为 ObjectDataSource 指定对象实例
我使用 ObjectDataSource 将数据绑定到 GridView; 它工作得很好,只是它总是创建一个新对象用作数据源。 我可以很好地完成所有设置,但我无法使用现有对象的实例来指定它的“数据源”。 是否有可能做到这一点? 如果是这样,怎么办?
如果不可能,为什么?
编辑:这是正在发生的事情的要点(对象类型已更改):在第一页上,您正在编辑狗的属性。 其中一个属性是“有小狗”,如果为真,则在下一页您将指定这些小狗的名称。 在我的例子中,这些小狗并没有与原来的狗联系在一起,而是与“新”狗联系在一起。 (暗示我的问题是一只“母狗”是巧合。;-))
I'm using an ObjectDataSource to bind data to a GridView; it works fine except that it always creates a new object to use as a data source. I can do all the setup just fine but I cannot use an instance of an existing object to specify as the "data source" for it. Is it possible to do this? If so, how?
If it's not possible, why?
EDIT: Here's the gist of what's going on (object types changed): On the first page you are editting the attributes for a dog. One of the attributes is "has puppies" and if it's true, the next page you specify the names of those puppies. What's happening in my case is that those puppies are not getting linked to the original dog but to a "new" dog. (The implication that my problem is a "female dog" was coincidental. ;-) )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为 ObjectDataSource 上的 ObjectCreating 事件创建事件处理程序。
您可以使用 ObjectDataSourceEventArgs 属性分配实例,
也可以在标记中连接此事件
Create an event handler for the ObjectCreating event on the ObjectDataSource.
You can assign the instance to using the ObjectDataSourceEventArgs property
Wire this event up in the markup too
正如我刚刚在我自己的问题中发现的 在这里,存储在应用程序缓存中的项目将自身作为使用的引用进行传递。 您可以考虑将数据存储在那里(或者也可能存储在会话中)并以这种方式传递项目。
As I just discovered in my own question here, items stored in the Application Cache are going to pass themselves as a reference for use. You may consider storing your data there (or potentially in the Session as well) and pass items that way.