如何将节点添加到动态节点提供程序?

时间:2012-04-21 19:08:11

标签: asp.net-mvc asp.net-mvc-sitemap

我已经通过在SiteMap文件中的mvcSiteMapNode中指定节点提供程序名称来实现动态节点提供程序,并且它可以正常工作。但是,我只想在用户进行身份验证后添加动态节点。原因是我想访问HttpContext.User.Identity,以便我可以通过user.Identity过滤节点。

因此,我删除了SiteMap文件中的mvcSiteMapNode,而是在Action方法中调用GetDynamicNodeCollection方法(一旦用户进行了身份验证),并且用户正在过滤节点。这也按预期工作。

我的问题:获得节点后,如何将它们添加到SiteMapNodeCollection中,以便它们显示在从ActionResult返回的视图中?

1 个答案:

答案 0 :(得分:1)

这可能是SiteMapNodeVisibility提供程序的工作,而不是DynamicNodeProvider的工作。

原因是节点的缓存。