使用 MVC 站点地图时如何更改面包屑中的 parents parent?
When using MVC Site Map how do you change the parents parent in the breadcrumb?
您好,我正在使用 c# mvc MvcSiteMapProvider。
我在 mvc.sitemap 文件中设置了我网站的一部分。
<mvcSiteMapNode title="Reports" controller="Reports" action="Index">
<mvcSiteMapNode title="Directorates" controller="ReportsDirectorate" action="Index" key="ReportsDirectorate">
<mvcSiteMapNode title="Divisions" controller="ReportsDirectorate" action="Directorate" key="ReportsDirectorateDirectorate" preservedRouteParameters="id">
<mvcSiteMapNode title="Teams" controller="ReportsDirectorate" action="Division" preservedRouteParameters="id,divisionId">
<mvcSiteMapNode title="Team" controller="ReportsDirectorate" action="Team" preservedRouteParameters="id,divisionId,teamId"/>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMapNode>
最后的节点title="team"在控制器中有这样的冒犯行为。
[MvcSiteMapNode(Key = "ReportsDirectorateDirectorate", ParentKey = "ReportsDirectorate", Title = "Soimething here")]
[SiteMapTitle("team.Division.Name", Target = AttributeTarget.ParentNode)]
[SiteMapTitle("team.Name")]
public ActionResult Team(int teamId)
我试图影响此节点的标题,它基本上是 Parent节点的 Parent,用于面包屑。
<mvcSiteMapNode title="Divisions" controller="ReportsDirectorate" action="Directorate" key="ReportsDirectorateDirectorate" preservedRouteParameters="id">
你是怎么做到的?
谢谢
理查德
在控制器中,您可以访问具有更高优先级的任何节点。
MvcSiteMapProvider.SiteMaps.Current.CurrentNode.ParentNode.ParentNode.Title = team.Division.Directorate.Name;
如果您想使用相同的操作,但可能使用不同的标题,具体取决于路由值或其他一些参数,这也很有用。
您好,我正在使用 c# mvc MvcSiteMapProvider。
我在 mvc.sitemap 文件中设置了我网站的一部分。
<mvcSiteMapNode title="Reports" controller="Reports" action="Index">
<mvcSiteMapNode title="Directorates" controller="ReportsDirectorate" action="Index" key="ReportsDirectorate">
<mvcSiteMapNode title="Divisions" controller="ReportsDirectorate" action="Directorate" key="ReportsDirectorateDirectorate" preservedRouteParameters="id">
<mvcSiteMapNode title="Teams" controller="ReportsDirectorate" action="Division" preservedRouteParameters="id,divisionId">
<mvcSiteMapNode title="Team" controller="ReportsDirectorate" action="Team" preservedRouteParameters="id,divisionId,teamId"/>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMapNode>
最后的节点title="team"在控制器中有这样的冒犯行为。
[MvcSiteMapNode(Key = "ReportsDirectorateDirectorate", ParentKey = "ReportsDirectorate", Title = "Soimething here")]
[SiteMapTitle("team.Division.Name", Target = AttributeTarget.ParentNode)]
[SiteMapTitle("team.Name")]
public ActionResult Team(int teamId)
我试图影响此节点的标题,它基本上是 Parent节点的 Parent,用于面包屑。
<mvcSiteMapNode title="Divisions" controller="ReportsDirectorate" action="Directorate" key="ReportsDirectorateDirectorate" preservedRouteParameters="id">
你是怎么做到的? 谢谢 理查德
在控制器中,您可以访问具有更高优先级的任何节点。
MvcSiteMapProvider.SiteMaps.Current.CurrentNode.ParentNode.ParentNode.Title = team.Division.Directorate.Name;
如果您想使用相同的操作,但可能使用不同的标题,具体取决于路由值或其他一些参数,这也很有用。