基本控制器方法

时间:2013-03-14 08:02:16

标签: asp.net-mvc asp.net-mvc-3 razor

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

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方法,那么它就不会被调用。当我在派生类

中添加同名方法时,它正在调用

请帮忙。

1 个答案:

答案 0 :(得分:1)

您的基类实现是空的 - 但这也意味着代码将无法编译 - 因为没有实现的方法必须标记为abstract

此外,派生控制器中的方法必须标有override

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