【问题标题】:How do I add a menu item into the administration area from a plugin nopcommerce and reference my controller properly如何从插件 nopcommerce 将菜单项添加到管理区域并正确引用我的控制器
【发布时间】:2022-01-11 10:53:48
【问题描述】:

我知道当您想从插件将菜单项添加到管理仪表板时,nopCommerce 给出了这个示例: nopCommerce documentation Admin menu

但是,我的问题是我的控制器没有被调用 这是我在 plugin.cs 中的代码:

var subMenuItemTwo = new SiteMapNode
        {
            SystemName = "AttestationEditor",
            Title = "Edit Attestations (Name and Cancellation Reason only)",
            ControllerName = "CarbonOffsetPlatformAdminController",
            ActionName = "AttestationEditing",
            IconClass = "fa fa-dot-circle-o",
            Visible = true,
            RouteValues = new RouteValueDictionary
            {
                { "area", "AttestationEditorPage"}
            },

            
            
            


        };


        //Ich füge mein menuItem hinzu
        rootNode.ChildNodes.Add(menuItem);
        menuItem.ChildNodes.Add(subMenuItem);
        menuItem.ChildNodes.Add(subMenuItemTwo);

这是我在 CarbonOffsetPlatformAdminController.cs 中的 Action 方法:

    [HttpGet]
    public IActionResult AttestationEditing()
    {
        var attestationEditing = new AttestationEditorModel();
        return View("~/Views/AttestationEditing/AttestationEditorStart.cshtml", attestationEditing);
    }

我做错了什么?提前致谢

【问题讨论】:

    标签: c# model-view-controller plugins nopcommerce


    【解决方案1】:

    ControllerName 和 RouteValues 有问题。

    替换

    var subMenuItemTwo = new SiteMapNode
            {
                SystemName = "AttestationEditor",
                Title = "Edit Attestations (Name and Cancellation Reason only)",
                ControllerName = "CarbonOffsetPlatformAdminController",
                ActionName = "AttestationEditing",
                IconClass = "fa fa-dot-circle-o",
                Visible = true,
                RouteValues = new RouteValueDictionary
                {
                    { "area", "AttestationEditorPage"}
                },
            };
    

    var subMenuItemTwo = new SiteMapNode
            {
                SystemName = "AttestationEditor",
                Title = "Edit Attestations (Name and Cancellation Reason only)",
                ControllerName = "CarbonOffsetPlatformAdmin", //Change here
                ActionName = "AttestationEditing",
                IconClass = "fa fa-dot-circle-o",
                Visible = true,
                RouteValues = new RouteValueDictionary
                {
                    { "area", "Admin"} //Change here
                },    
            };
    

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 2012-07-25
      • 2022-01-20
      • 2017-05-21
      相关资源
      最近更新 更多