简体   繁体   English

如何从插件 nopcommerce 将菜单项添加到管理区域并正确引用我的 controller

[英]How do I add a menu item into the administration area from a plugin nopcommerce and reference my controller properly

I know nopCommerce gives this example when you want to add a menu item into the admin dashboard from a plugin: nopCommerce documentation Admin menu我知道当您想从插件将菜单项添加到管理仪表板时,nopCommerce 给出了这个示例: nopCommerce 文档管理菜单

However, my problem is my controller is not called This is my code in plugin.cs:但是,我的问题是我的 controller 未被调用这是我在 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);

This is my Action method in CarbonOffsetPlatformAdminController.cs:这是我在 CarbonOffsetPlatformAdminController.cs 中的 Action 方法:

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

what am I doing wrong?我究竟做错了什么? Thanks in advance提前致谢

You have problem with ControllerName and RouteValues. ControllerName 和 RouteValues 有问题。

Replace代替

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"}
            },
        };

By经过

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
            },    
        };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在nopcommerce中添加名称空间? - How do I add a namespace inside nopcommerce? 在开发过程中如何调试nopCommerce插件? - How do I debug a nopCommerce plugin while development? 如何在ASP.NET MVC 5项目中获得“添加控制器”和“添加视图”菜单选项? - How do I get the “Add Controller” and “Add View” menu options in my ASP.NET MVC 5 project? 如何从另一个区域引用根控制器 - How to reference to root controller from another area 如何在NopCommerce 2.20中的标题类别菜单中添加菜单 - How to add menu in Header Category menu in NopCommerce 2.20 如何在nopcommerce中更新插件? - How to update plugin in nopcommerce? 如何将自己的项目添加到文本框的默认上下文菜单(剪切,复制,粘贴, <my item> )。 - How can I add my own item to the default context menu of a textbox (cut, copy, paste, <my item>). 如何从附加到按钮的菜单中获取所选项目 - How do I get the selected item from Menu attached to a button 如何将项目从一个菜单移动到另一个菜单? - How do I move an item from one menu to another? 如何将Google Chrome插件从我的网站添加到浏览器 - How do I add a Google Chrome plugin from my website to a browser
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM