MvcSiteMapProvider和dynamicNodeProvider的问题

Sim*_*tes 4 c# asp.net-mvc asp.net-mvc-2 mvcsitemapprovider

嗨,我已在我的网络配置中添加提供程序,如下所示:

 <add name="MvcSiteMapProvider"
             type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider"
             siteMapFile="~/Sitemap/SiteMap.sitemap"
             securityTrimmingEnabled="true"

             enableLocalization="true"
             scanAssembliesForSiteMapNodes="true"
             skipAssemblyScanOn=""
             attributesToIgnore="bling"
             nodeKeyGenerator="MvcSiteMapProvider.DefaultNodeKeyGenerator, MvcSiteMapProvider"
             controllerTypeResolver="MvcSiteMapProvider.DefaultControllerTypeResolver, MvcSiteMapProvider"
             actionMethodParameterResolver="MvcSiteMapProvider.DefaultActionMethodParameterResolver, MvcSiteMapProvider"
             aclModule="MvcSiteMapProvider.DefaultAclModule, MvcSiteMapProvider"
             siteMapNodeUrlResolver="MvcSiteMapProvider.DefaultSiteMapNodeUrlResolver, MvcSiteMapProvider"
             siteMapNodeVisibilityProvider="MvcSiteMapProvider.DefaultSiteMapNodeVisibilityProvider, MvcSiteMapProvider"
Run Code Online (Sandbox Code Playgroud)

这是我的.sitemap文件

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-2.0" enableLocalization="true">

    <mvcSiteMapNode title="Classifieds" controller="Classifieds" action="Index"  changeFrequency="Always" updatePriority="Normal">
        <mvcSiteMapNode title="Category" controller="Classifieds" action="ClassifiedSelection"  dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite.Helpers" >
          <mvcSiteMapNode title="SpecificAd" controller="Classifieds" action="SpecificClassified" dynamicNodeProvider="MySite.Helpers.ClassifiedAdsDynamicNodeProvider, MySite.Helpers" >
            <mvcSiteMapNode title="Email Seller" controller="Classifieds" action="EmailSeller" />

        </mvcSiteMapNode>
      </mvcSiteMapNode>
    </mvcSiteMapNode>

</mvcSiteMap>
Run Code Online (Sandbox Code Playgroud)

我在一个单独的类文件中创建了两个动态prodiders-我的基本相同.(如此处所示http://mvcsitemap.codeplex.com/wikipage?title=Dynamic%20sitemaps&version=1)

我无法让站点地图完全工作,每当我使用站点地图加载页面时,我都会得到一个值不能为空的错误.

请帮助,我虽然MvcSitemap会调用我的dynamicNodeprovider,但它并不是因为我所创建的两个类中都没有beakpoints,

请帮忙.

moo*_*rol 9

我也遇到了这个问题,为了解决这个问题,我不得不将dynamicNodeProvider参数的第二部分更改为项目程序集名称(这可以通过选择项目在Visual Studio中找到,然后右键单击 - >属性,应用程序选项卡.

在你的情况下,它可能是

dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"
Run Code Online (Sandbox Code Playgroud)