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
开始在核心 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