SmartBreadCrumbs - 使用具有父级别的路由值

SmartBreadCrumbs - using route values with parent level

开始在核心 3.1 中使用智能面包屑,一切都很好,直到我需要设置父面包屑。 父级需要一个 Id 的路由值,这是传递给子级(升级)操作的参数。

示例: 主页 / 产品 / 升级

Product url 应该是 /member/product/12345

这可以用 SmartbreadCrumbs 实现吗? 我有这个工作但没有通过 routeValue。

[Breadcrumb("Upgrade", FromAction = "Product", FromController = typeof(MemberController))]

此外,设置面包屑节点似乎不再有效:

new BreadcrumbNode(product.Category.Name, "Controller", "Category", null, new { id = 10 });

此致

亚历克斯

感谢 zHaytam 的回答。

因此,您只需在操作中编写代码:

  var childNode1 = new MvcBreadcrumbNode("Product", "Member", "Product", false)
        {
            RouteValues = new { id } //this comes in as a param into the action
        };

        var childNode2 = new MvcBreadcrumbNode(action, controller, title)
        {
            OverwriteTitleOnExactMatch = true,
            Parent = childNode1
        };

        ViewData["BreadcrumbNode"] = childNode2;

这里 link 提供更多信息: https://github.com/zHaytam/SmartBreadcrumbs/wiki/4.-Manual-nodes