2017-06-01 11 views
1

こんにちは私はC#mvc MvcSiteMapProviderを使用しています。MVCサイトマップを使用する場合、どのようにブレッドクラムの親の親を変更しますか?

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> 

最終的なノードのタイトル= "チーム"は、このようなコントローラーに嫌な行動をしています。

[MvcSiteMapNode(Key = "ReportsDirectorateDirectorate", ParentKey = "ReportsDirectorate", Title = "Soimething here")] 
[SiteMapTitle("team.Division.Name", Target = AttributeTarget.ParentNode)] 
[SiteMapTitle("team.Name")] 
public ActionResult Team(int teamId) 

私は基本的にパンくずで使用するためのparentNodeの親であり、このノードのタイトルに影響を与えるためにしようとしています。

<mvcSiteMapNode title="Divisions" controller="ReportsDirectorate" action="Directorate" key="ReportsDirectorateDirectorate" preservedRouteParameters="id"> 

どうすればよいですか? ありがとう リチャード

答えて

0

コントローラ内では、より多くのプレゼンテーションを持つノードにアクセスできます。

MvcSiteMapProvider.SiteMaps.Current.CurrentNode.ParentNode.ParentNode.Title = team.Division.Directorate.Name; 

これは、ルートの値やその他のパラメータに応じて、同じアクションを使用したいが、おそらく異なるタイトルを使用する場合に便利です。

関連する問題