0

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

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

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

4

1 回答 1

1

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

原因是节点的缓存。

于 2012-04-21T22:01:17.337 回答