首先我需要告诉你我在这个项目上使用了 URL 重写。
对于文章页面,这是 url:www.mysite.com/section1/section2/month/day/year/modifiedArticleName
对于面包屑,我使用带有自定义 XMLSiteMapProvider 的 SiteMapPath 控件,因为我无法将所有文章都保存在 xml 文件中。在此提供程序中,在 CurrentNode 属性中,如果 url 是一篇文章,我创建一个新的 SiteMapNode,将其链接到适当的父节点并返回它。
问题是我需要向该节点提供文章名称。我无法从 url 中得到它,因为就像你在上面看到的那样,url 使用了修改后的文章名称。所以我需要从页面中获取它。
在 CurrentNode 属性中,我可以获取当前正在运行的页面的实例,但是由于文章是在 Page_Load 上加载的,因此我还没有标题。
我想到了一个解决方案,但我不确定如何实现它。所以,我应该有 2 个 XMLSiteMapProvider,一个是默认的,一个是我的自定义的。并且只在我的文章页面上使用自定义的,只有在我加载我的文章详细信息后才初始化它。有人可以指出我正确的方向吗?
干杯。