我在 aspx 页面中有以下代码:
<asp:ObjectDataSource id="odsOuterSource" TypeName="my.namespace.page"
SelectMethod="GetTestObject" DataObjectTypeName="my.namespace.Entities.TestObject" />
<asp:ObjectDataSource id="odsInnerSource" TypeName="my.namespace.page"
SelectMethod="GetAnotherTestObject"
DataObjectTypeName="my.namespace.Entities.AnotherTestObject" />
以及代码隐藏中的以下代码:
public TestObject GetTestObject()
{
Logic myLogic = new MyLogic();
return myLogic.GetTestObject();
}
public AnotherTestObject GetAnotherTestObject()
{
Logic myLogic = new MyLogic();
return myLogic.GetAnotherTestObject(testObject);
}
现在我的问题是,是否有办法获取 OuterSource 返回的 TestObject,这样我就可以将它用于 InnerSource,而无需再次调用 GetTestObject。
我希望你能帮我解决这个问题。
编辑:为了比评论更好的可读性
感谢您的回答,但我对木杜的回答有疑问:
如果我的 OuterSource 有参数,有没有办法做到这一点?例如
<asp:ObjectDataSource id="odsOuterSource" TypeName="my.namespace.page"
SelectMethod="GetTestObject" DataObjectTypeName="my.namespace.Entities.TestObject">
<SelectParameters>
<asp:QueryStringParameter Name="id" QueryStringField="id" DefaultValue="0" />
</SelectParameters>
</asp:ObjectDataSource>
因为这样即使我的 GetTestObject 也会有一个参数:
public TestObject GetTestObject(int id)
{
Logic myLogic = new MyLogic();
return myLogic.GetTestObject(id);
}