1

我的基本控制器方法没有被执行。下面是我的基本控制器。

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

    [HttpPost]
    public JsonResult LoadDocumentInfo(LoadDocumentInfoRequest request);

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

下面是我的派生控制器:

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);
    }
}

如果我从派生类中删除 LoadDocumentInfo 方法,那么它不会被调用。当我在派生类中添加同名方法时,它会被调用

请帮忙。

4

1 回答 1

1

你的基类实现是空的——但这也意味着代码不会编译——因为没有实现的方法必须标记为abstract.

派生控制器中的方法也必须用override.

阅读此作为参考: http: //msdn.microsoft.com/en-us/library/ebca9ah3 (v=vs.110).aspx

于 2013-03-14T08:11:13.837 回答