我正在尝试使用ObjectDataSource的SelectMethod来调用函数。
<asp:ObjectDataSource runat="server"
ID="odsDocuments"
TypeName="ClassA"
SelectMethod="Documents.GetDocuments" />
其中“Documents”是另一个类的实例,作为“ClassA”中的公共属性,“GetDocuments”是“Documents”类中的一个函数。
我一直收到一条错误消息,指出无法找到该功能(显然该功能存在且访问级别没有问题)。
知道我哪里出错了,或者这种语法不太可能使用这种方法吗?
答案 0 :(得分:2)
我不认为ObjectDataSource支持点表示法;我认为ODS必须直接在该类型中指定的对象上使用该方法。但是,我知道您可以在幕后更改数据源用于调用方法的基础对象。所以我的意思是在其中一个事件中(我相信ObjectCreated
事件),您可以将上下文更改为指向Document对象,以便正确评估所有内容。
答案 1 :(得分:1)
您可以在ClassA
中实现包装方法,如下所示:
public object GetDocuments()
{
return Documents.GetDocuments();
}
以这种方式使用数据源:
<asp:ObjectDataSource runat="server"
ID="odsDocuments"
TypeName="ClassA"
SelectMethod="GetDocuments" />