I'm creating a plugin with a number of routes for listing, adding, creating, deleting, ... within the admin area, but they don't work. I'm i doing something wrong?
// index
routes.MapRoute("CustomerServiceAdmin",
"admin/Plugins/CustomerService/{action}/{id}",
new {controller = "_CustomerServiceAdmin", action = "Index", id = UrlParameter.Optional},
new[] {"Nop.Plugin.Misc.CustomerService.Controllers"})
.DataTokens.Add("area", "admin");
// list
routes.MapRoute("CustomerServiceAdmin.List",
"admin/Plugins/CustomerService/{action}/{id}",
new {controller = "_CustomerServiceAdmin", action = "List", id = UrlParameter.Optional},
new[] {"Nop.Plugin.Misc.CustomerService.Controllers"})
.DataTokens.Add("area", "admin");
// create
routes.MapRoute("CustomerServiceAdmin.Create",
"admin/Plugins/CustomerService/{action}/{id}",
new {controller = "_CustomerServiceAdmin", action = "Create", id = UrlParameter.Optional},
new[] {"Nop.Plugin.Misc.CustomerService.Controllers"})
.DataTokens.Add("area", "admin");
// edit
routes.MapRoute("CustomerServiceAdmin.Edit",
"admin/Plugins/CustomerService/{action}/{id}",
new { controller = "_CustomerServiceAdmin", action = "Edit", id = UrlParameter.Optional},
new[] { "Nop.Plugin.Misc.CustomerService.Controllers" })
.DataTokens.Add("area", "admin");
// delete
routes.MapRoute("CustomerServiceAdmin.Delete",
"admin/Plugins/CustomerService/{action}/{id}",
new { controller = "_CustomerServiceAdmin", action = "Delete", id = UrlParameter.Optional },
new[] { "Nop.Plugin.Misc.CustomerService.Controllers" })
.DataTokens.Add("area", "admin");
Log Error:
The controller for path '/Admin/Plugins/CustomerService' was not found or does not implement IController.
System.Web.HttpException (0x80004005): The controller for path '/Admin/Plugins/CustomerService' was not found or does not implement IController. at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)