C# 在mvc 3中动态编辑站点地图
在我的C# 在mvc 3中动态编辑站点地图,c#,asp.net-mvc-3,sitemap,mvcsitemapprovider,C#,Asp.net Mvc 3,Sitemap,Mvcsitemapprovider,在我的Asp.Net MVC3应用程序中,我使用的是sitemap。 我有一些场景需要在运行时动态编辑站点地图文件 我只是厌倦了删除节点和添加新节点。 我尝试了以下代码 SiteMapNode node = FindSiteMapNodeFromKey("test"); SiteMapNode no = node.ParentNode; RemoveNode(node); mRootNode = new SiteMapNode(this, "Deleted Home", "Default
Asp.Net MVC3
应用程序中,我使用的是sitemap
。
我有一些场景需要在运行时动态编辑站点地图文件
我只是厌倦了删除节点
和添加新节点
。
我尝试了以下代码
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"/>
任何正确实现这一点的想法都会对我非常有帮助。要动态编辑站点地图,您可以使用的自定义实现或的自定义实现 前者更容易实现,后者使您能够更好地控制节点。此外,为了使用ISiteMapBuilder,您必须使用外部DI容器,以便可以用自己的实现替换内置实现 注意:根据更新节点的频率,可能还需要调整缓存设置