ObjectDataSource SelectMethod

时间:2013-05-08 09:21:42

标签: asp.net objectdatasource selectmethod

我正在尝试使用ObjectDataSource的SelectMethod来调用函数。

<asp:ObjectDataSource runat="server" 
                      ID="odsDocuments" 
                      TypeName="ClassA" 
                      SelectMethod="Documents.GetDocuments" />

其中“Documents”是另一个类的实例,作为“ClassA”中的公共属性,“GetDocuments”是“Documents”类中的一个函数。

我一直收到一条错误消息,指出无法找到该功能(显然该功能存在且访问级别没有问题)。

知道我哪里出错了,或者这种语法不太可能使用这种方法吗?

2 个答案:

答案 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" />