現在、MVCSiteMapProvider を使用してサイトのブレッドクラムを生成しています。SiteMapTitle 属性に viewData 値を渡すことで、サイト マップのタイトルを作成しています。最初にリンクにアクセスすると、必要に応じてパンくずリストが作成されますが、自分のサイトから他のリンクに再度アクセスしようとすると、タイトルの Viewdata の最初にアクセスした値が表示されます。コードは次のようになります
[SiteMapPreserveRouteData]
[SiteMapTitle("atlas")]
public ActionResult Index(string id ,string Atlas)
{
if (!string.IsNullOrEmpty(Atlas))
{
ViewData["atlas"] = Atlas;
}
Taxonomy taxonomy = db.GetTaxonomy(new Guid(ConfigurationManager.AppSettings["TherapyId"]));
var atlasList = taxonomy.GetTerms(id, 2);
return View(atlasList);
}
サイトマップはこんな感じ
<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal" >
<mvcSiteMapNode title="Therapy" controller="Therapy" action="Index" >
<mvcSiteMapNode title="" controller="Atlas" action="Index" >
<mvcSiteMapNode title="" controller="Specialties" action="Index">
<mvcSiteMapNode title="" controller="Specialties" action="ViewImage" />
</mvcSiteMapNode>
</mvcSiteMapNode>
</mvcSiteMapNode>
どんな助けでも大歓迎です