您好我在我的网络配置中添加了提供程序,如下所示:
<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"
这是我的.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>
我在一个单独的类文件中创建了两个动态prodiders-我的基本相同。 (如此处所示http://mvcsitemap.codeplex.com/wikipage?title=Dynamic%20sitemaps&version=1)
我无法让站点地图完全工作,每当我使用站点地图加载页面时,我都会得到一个值不能为空的错误。
请帮助,我虽然MvcSitemap会调用我的dynamicNodeprovider但是并不是因为我的两个类中都没有beakpoints,
请帮助。
答案 0 :(得分:9)
我也遇到了这个问题,为了解决这个问题,我不得不将dynamicNodeProvider参数的第二部分更改为项目程序集名称(这可以通过选择项目在Visual Studio中找到,然后右键单击 - &gt;属性,应用程序标签
在你的情况下可能是
dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"