【问题标题】:Nopcommerce Rewriting Route to overrule core catalog controller via CustomView Engine and RouteproviderNopcommerce 重写路由以通过 CustomView Engine 和 Routeprovider 否决核心目录控制器
【发布时间】:2015-07-17 18:31:47
【问题描述】:

在我之前的问题中,我询问了如何从 Nop 核心控制器 CatalogController 继承代码。请参阅问题Nopcommerce inherit code from de nop core controller 的帖子

现在我已经继承了这个核心控制器的代码,但现在我想让 nopcommerce 使用我的 CatalogController 安装在核心控制器中。为此,我使用了 CustomViewEnige 和路由提供程序。

添加新路由后:

routes.MapLocalizedRoute("Nop.Web.Controllers.CatalogController",
                  "{category}",
                  new { controller = "Catalog", action = "Category" },
                  new[] { "Nop.Plugin.Widgets.TryingNewProjectController.Controllers" });

我已经更改了我的路线提供商代码,所以 Nopcommerce 现在看到了我想要的路线,但现在我仍然收到错误:

当前对控制器类型的“类别”操作请求 'CatalogController' 在以下操作方法之间不明确: System.Web.Mvc.ActionResult Category() 类型 Nop.Plugin.Widgets.TryingNewProjectController.Controllers.CatalogController System.Web.Mvc.ActionResult Category() 类型 Nop.Web.Controllers.CatalogController System.Web.Mvc.ActionResult 类别(Int32,Nop.Web.Models.Catalog.CatalogPagingFilteringModel)上 键入 Nop.Web.Controllers.CatalogController

我不知道我做错了什么......

【问题讨论】:

    标签: c# asp.net-mvc nopcommerce route-provider


    【解决方案1】:

    我自己能弄明白 :) 但对于其他开始 nopcommerce 开发人员/开始 ASP.Net 开发人员,这里是答案:

    当您为控制器/动作创建新路由时,您必须在新插件中为该控制器/动作指定一个唯一名称。这听起来很简单,但我花了很长时间才弄明白......

    所以这是我的旧代码,它不起作用.....

    routes.MapLocalizedRoute("Nop.Web.Controllers.CatalogController",
                      "{category}",
                      new { controller = "Catalog", action = "Category" },
                      new[] { "Nop.Plugin.Widgets.TryingNewProjectController.Controllers" });
    

    此代码有效:

    routes.MapRoute("Nop.Web.Controllers.CatalogController.Category",
                    "{category}",
                   new { controller = "TryingNewProject", action = "Category" },
                   new[] { "Nop.Plugin.Widgets.TryingNewProjectController.Controllers.CatalogController" });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      相关资源
      最近更新 更多