我使用的是MVCSitemapProvider我的ASP.NET MVC 3项目,我有一份新闻稿部分动态节点。 我现在面临的问题是,有多个节点的一个部分,当我在现场看地图它的正常工作为这样:
> Home
> Static Node - Press Releases
>Dynamic node - Press Release #1
>Dynamic node - Press Release #2
>Dynamic node - Press Release #3
然而,在面包屑,如果我浏览到新闻发布#2页。 路径将显示第一个节点。
Home > Press Releases > Press Release #1
下面是该节点提供的代码
public class PressReleaseDynamicNodeProvider : DynamicNodeProviderBase {
public PressReleasesRepository _repository = new PressReleasesRepository();
public List<PressRelease> releases = new List<PressRelease>();
public override IEnumerable<DynamicNode> GetDynamicNodeCollection() {
releases = _repository.GetPressReleases();
var returnValue = new List<DynamicNode>();
foreach (var release in releases) {
DynamicNode node = new DynamicNode();
node.Title = release.Title;
returnValue.Add(node);
}
return returnValue;
}
}
和MVC网站地图代码:
<mvcSiteMapNode controller="News" action="PressReleases" title="Press Releases" >
<mvcSiteMapNode controller="News" action="PressRelease" title="" dynamicNodeProvider="MySite.NodeProvider.PressReleaseDynamicNodeProvider, MySite" />
</mvcSiteMapNode>
当我重写这个quesiton,我一直在玩与周围的代码,没有做任何大的变化和现在...新闻稿#1显示新闻稿#1,新闻发布#2显示新闻稿#3和出版社发布#3是表示新闻稿#1。
我被这个困惑。