1

我们需要为每个登录的用户加载不同的 XML 站点地图。该站点地图可以来自多种来源(Web 服务、数据库、文件),并且必须在运行时加载。

我是这样设计的:当用户登录时,该用户的自定义 XML 被获取并放入 Session。在我的自定义 SiteMapProvider 的 BuildSiteMap() 方法中,我需要将 XML 作为站点地图加载。我知道如何逐个节点执行此操作,但我的问题是:如果 XMLSiteMapProvider 可以从 XML 文件加载站点地图数据,我是否可以从内存中的站点地图文件中执行相同的操作(通过将我的 XML 转换为站点地图 XML) ?

将不胜感激任何意见,谢谢。

4

2 回答 2

0

虽然它在技术上应该是可行的,但我认为这不是一个好方法,因为它与通过为每个节点指定用户/组来包含完整站点导航和处理授权的站点地图的想法相矛盾。

<?xml version="1.0" encoding="utf-8" ?>
  <siteMap>
    <!-- other <siteMapNode> elements -->
      <siteMapNode title="Support" 
       description="Support" 
       url="~/Customers/Support.aspx" 
       roles="Customers" />
  </siteMap>
于 2009-12-29T20:18:36.000 回答
0

您可以siteMapFilesiteMapNode. 也许这可以进一步帮助你?

<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
  <siteMapNode siteMapFile="~/users/xxx.sitemap" />
</siteMap>
于 2010-01-13T00:07:23.453 回答