3

我正在使用 ObjectDataSource 将数据绑定到 GridView;它工作正常,只是它总是创建一个新对象用作数据源。我可以很好地完成所有设置,但我不能使用现有对象的实例来指定它的“数据源”。是否有可能做到这一点?如果是这样,怎么做?

如果不可能,为什么?

编辑:这是正在发生的事情的要点(对象类型已更改):在第一页上,您正在编辑狗的属性。其中一个属性是“有小狗”,如果它是真的,下一页你指定这些小狗的名字。就我而言,发生的事情是那些小狗没有与原来的狗联系在一起,而是与“新”狗联系在一起。(暗示我的问题是“母狗”是巧合。;-))

4

2 回答 2

8

为 ObjectDataSource 上的 ObjectCreating 事件创建一个事件处理程序。

您可以使用 ObjectDataSourceEventArgs 属性分配实例

protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
    e.ObjectInstance = myObject;
}

将此事件也连接到标记中

<asp:ObjectDataSource OnObjectCreating="ObjectDataSource1_ObjectCreating" />
于 2008-12-29T18:23:46.000 回答
0

正如我刚刚在我自己的问题中发现的那样,存储在应用程序缓存中的项目将作为参考传递给使用。您可以考虑将数据存储在那里(或者也可能存储在 Session 中)并以这种方式传递项目。

于 2008-12-29T18:12:48.860 回答