【发布时间】:2012-05-04 20:56:10
【问题描述】:
我正在为我的 ASP.NET MVC 3 项目使用 MVCSitemapProvider,我有一个用于新闻稿部分的动态节点。我面临的问题是一个部分有多个节点,当我查看站点地图时,它工作正常:
> 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>
当我重写这个问题时,我一直在玩代码,没有进行任何重大更改,现在……新闻稿 #1 显示新闻稿 #1,新闻稿 #2 显示新闻稿 # 3 和 Press Release #3 显示 Press Release #1。
我对此感到困惑。
【问题讨论】:
标签: asp.net-mvc razor mvcsitemapprovider asp.net-mvc-sitemap