2013-05-08 3 views
0

ObjectDataSource의 SelectMethod를 사용하여 함수를 호출하려고합니다. "문서" "를 ClassA"와 "GetDocuments"내 공용 속성으로 다른 클래스의 인스턴스ObjectDataSource SelectMethod

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

는 "문서"클래스 내의 함수입니다. 함수를 찾을 수 없다는 오류가 계속 나타납니다 (함수가 존재하고 액세스 수준에 문제가 없음). 내가 잘못 가고있는 어떤 생각이나이 구문을 사용하는 것이 실제로 가능하지 않은가?

+1

'Documents' 무엇을? 클래스 내의 클래스 ('ClassA') ?? – yogi

+0

예, "문서"는 "ClassA"내의 클래스 인스턴스입니다. 죄송합니다. – Ryuu

답변

1

ObjectDataSource가 도트 표기법을 지원한다고 생각하지 않습니다. ODS는 해당 유형에 지정된 객체에 직접 메소드를 가져야한다고 생각합니다. 그러나 나는 데이터 소스가 메서드 호출에 사용하는 기본 객체를 변경할 수 있음을 알고 있습니다. 그래서 내가 의미하는 것은 이벤트 중 하나 (나는 ObjectCreated 이벤트라고 생각합니다)에서 모든 것을 정확하게 평가할 수 있도록 Document 객체를 가리 키도록 컨텍스트를 변경할 수 있습니다.

public object GetDocuments() 
{ 
    return Documents.GetDocuments(); 
} 

및 데이터 소스 이런 식으로 사용합니다 :

+0

을 언급하는 것을 잊어 버렸습니다. 데이터 객체를 DOT 표기법으로 사용하여 솔루션을 만들지 않았습니다. 당신이 말했듯이 지원되지 않습니다.), 그러나 그것을 강조하기위한 대답으로 표시하고 있습니다. 도움 주셔서 감사합니다. – Ryuu

0

이 같은 ClassA에 래퍼 방법을 구현할 수

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