如何扩展内置在DLL中的MVC控制器

时间:2015-09-28 13:09:09

标签: c# asp.net-mvc nuget-package

我正在使用SumoSoft.CMS.Mvc,它是一个Nuget包,可以在MVC项目中安装一些Views和dll,以便快速构建CMS。

这些dll包含一些控制器的代码,如“SumoSoft.CMS.BlogController”。有没有办法扩展这些控制器以添加新的Action?

例如,SumoSoft.CMS目前提供了以下操作:

/博客/索引

/博客/条

如果我想创建动作怎么办:

/博客/分类

2 个答案:

答案 0 :(得分:0)

我认为它只会像

一样工作
public class YourController : SumoSoft.CMS.BlogController
{
    public ActionResult YourAction
    {
    }
}

答案 1 :(得分:0)

您可以扩展路由表,为自定义操作添加显式路由。

    routes.MapRoute(
        name: "CustomBlogRouteActionJackson",
        url: "Blog/CustomAction",
        defaults: new { controller = "YourControllerNameWhichInheritsFromThatLibrariesController", action = "YourAwesomeActionName" }
    );

确保这超出任何其他路线。