2013-03-14 4 views
2

내 기본 컨트롤러 메서드가 실행되지 않습니다. 아래는 내베이스 컨트롤러입니다. 그때는 전화를받지 파생 클래스에서 LoadDocumentInfo 방법을 제거하면기본 컨트롤러 방법

public class ReportController : ReportServiceBaseController 
{ 
    protected override PerpetuumSoft.Reporting.WebViewer.Server.ReportServiceBase CreateReportService() 
    { 
     return new ServiceClass(); 
    } 

    [HttpPost] 
    public JsonResult LoadDocumentInfo(LoadDocumentInfoRequest request) 
    { 
     return base.LoadDocumentInfo(request); 
    } 
} 

:

public abstract class ReportServiceBaseController : Controller 
{ 
    protected ReportServiceBaseController(); 

    [HttpPost] 
    public JsonResult LoadDocumentInfo(LoadDocumentInfoRequest request); 

    [HttpPost] 
    public JsonResult LoadDocumentMapInfo(LoadDocumentMapInfoRequest request); 
} 

다음은 내 파생 컨트롤러입니다. 파생 클래스에서 같은 이름 메서드를 추가하면 호출됩니다.

도와주세요.

+4

메소드가 기본 클래스에 실제로 구현되어 있습니까? 내가 본 모든 것은 프로토 타입입니다. –

+0

실제로 나는 사격범보고 도구를 사용하고 있습니다. @LoadDocumentInfo 메서드는 PerpetuumSoft.Reporting.WebViewer.Server.Mvc.dll에서 구현됩니다. – user1557847

답변

2

기본 클래스 구현은 비어 있습니다.하지만 구현이없는 메소드는 abstract으로 표시되어야하므로 코드가 컴파일되지 않습니다.

또한 파생 컨트롤러의 메서드는 override으로 표시되어야합니다.

참조 용으로 읽으십시오. http://msdn.microsoft.com/en-us/library/ebca9ah3(v=vs.110).aspx

+0

사실 나는 사격범보고 도구를 사용하고 있습니다. @LoadDocumentInfo 메서드는 PerpetuumSoft.Reporting.WebViewer.Server.Mvc.dll에서 구현됩니다. – user1557847