在mvc 3中动态编辑网站地图
本文关键字:编辑 网站 地图 动态 mvc | 更新日期: 2023-09-27 18:21:40
在我的Asp.Net MVC3
应用程序中,我使用的是sitemap
。我有一些场景,我想在运行时edit sitemap file dynamically
。
我只是厌倦了removing a node
和adding a new one
。我尝试使用以下代码
SiteMapNode node = FindSiteMapNodeFromKey("test");
SiteMapNode no = node.ParentNode;
RemoveNode(node);
mRootNode = new SiteMapNode(this, "Deleted Home", "Default.aspx", "Home");
no.ChildNodes.Add(mRootNode);.
但节点变成了null
。我有一个站点地图节点与关键测试在我的站点地图
<mvcSiteMapNode title="Delete" action="Delete" key="test" roles="testrole"/>
任何正确实现这一点的想法都会对我很有帮助。
为了动态编辑站点地图,您可以使用IDynamicNodeProvider的自定义实现或ISiteMapBuilder的自定义实现。
前者更容易实现,后者使您能够更好地控制节点。此外,为了使用ISiteMapBuilder,必须使用外部DI容器,这样才能用自己的实现替换内置实现。
请注意,根据更新节点的频率,可能还需要调整缓存设置。