2008-11-05 3 views
4

GridViewObjectDataSource이있는 ASP.NET 페이지에서 작업하고 있습니다.ObjectDataSource가 예외를 throw합니다.

비즈니스 레이어에서 (DataObject()로 장식 된) 클래스에 대해 ObjectDataSource를 구성하려고합니다. 다른 많은 사람들과 마찬가지로 매우 유사한 방식으로 수업을 진행합니다. 클래스를 선택하고 다음을 클릭하여 SelectMethod에 대한 함수를 선택했지만 경고없이 아무런 오류없이 닫힙니다.

ObjectDataSourceTypeName을 설정하고 GridView에 연결할 수 있습니다. 나는 Refresh Schema을 시도하고 나는 오류가 팝업있어 '새로 고침 스키마를'호출

오류. 세부 사항 : 호출 대상에 의해 예외가 발생했습니다.

나는 수동으로 ObjectDataSource을 설정할 수 있지만 본질적으로 게으르며 GUI를 사용하는 것을 선호합니다.

왜 실패하나요?

모든 것이 훌륭합니다. 수동으로 모든 것을 연결하면 페이지가 정상적으로 작동합니다. 그러나 UI로 ObjectDataSource을 구성 할 때 여전히 실패합니다.

+0

나는 당신의 고통을 느낍니다. 이것을위한 해결책을 찾았습니까? – MC9000

답변

0

제대로 작동하려면 ODS 컨트롤에 몇 가지 전제 조건이 있으며 이러한 구성 중 일부가 올바르지 않으면 일반 Exception has been thrown by the target of an invocation.이 발생합니다. 여기에서 문제를 해결하려고 할 몇 가지가 있습니다 :

  1. ODS에 제어 해야에 바인딩 클래스는 어떤 매개 변수를 사용하지 않는 기본 빈 생성자를 가지고있다. 그것은 오버로드하는 것이 좋습니다,하지만 최소한 기본 빈 생성자가 있어야합니다; 이것이 존재하는지 확인하십시오.

  2. ODS가 포함 된 UI 프로젝트에서 참조하는 다른 프로젝트 내에 해당 클래스가있는 경우 해당 ODS는 바인딩 된 클래스에서 벗어날 수 있습니다. ODS 마법사가 현재 클래스 스키마를 읽을 수 있도록 솔루션을 완전히 정리하고 다시 빌드해야합니다.

  3. ODS를 삭제 (메모장에 IDS의 사용자 정의 속성을 저장하여 나중에 항목별로 다시 추가)하고 새 항목에 추가하십시오. 새 ODS가 추가되면 Wizzard를 사용하여 원하는 클래스를 가리키고 작동하는지 확인하십시오.