MvcSitemap の MvcSiteMapNodes のサブセットをレンダリングするために使用している部分的なビューがあります。
ただし、MvcSiteMap ノードの反復処理に問題があります。
私が使用する場合;
var nodes = new MvcSiteMapProvider.Web.Html.Models.SiteMapHelperModel();
空のコレクションを返します。
MvcSiteMapNodes をどのように反復しますか?
MvcSitemap の MvcSiteMapNodes のサブセットをレンダリングするために使用している部分的なビューがあります。
ただし、MvcSiteMap ノードの反復処理に問題があります。
私が使用する場合;
var nodes = new MvcSiteMapProvider.Web.Html.Models.SiteMapHelperModel();
空のコレクションを返します。
MvcSiteMapNodes をどのように反復しますか?
v4 では、Microsoft サイトマップ プロバイダーが使用されなくなったため、場所が変更されました。キャストする必要もなくなりました。
var nodes = MvcSiteMapProvider.SiteMaps.Current.CurrentNode.RootNode.ChildNodes;
foreach (var node in nodes)
{
// Do something with the node's values - no need to cast anymore.
}
以下を使用してこれを解決しました。
var nodes = SiteMap.CurrentNode.RootNode.ChildNodes;
foreach(SiteMapNode node in nodes)
{
MvcSiteMapProvider.MvcSiteMapNode mvcNode = (MvcSiteMapProvider.MvcSiteMapNode)node;