MVCSITEMAPPROVIDER和DYANICNODEPROVIDER的问题
-
04-10-2019 - |
题
嗨,我在我的Web配置中添加了提供商,如下:
<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>
我已经在单独的类文件中创建了两个动态生产者 - 基本相同。 (如下所示 http://mvcsitemap.codeplex.com/wikipage?title=dynamic%20Sitemaps&version=1)
每当我使用站点地图加载页面时,我都无法获得站点地图的工作,我得到的值就不会为无效。
请帮忙,尽管我认为MVCSITEMAP会称我的动态Nodeprovider,但这并不是我所做的两个班级中的任何一个beakpoints
请帮忙。
解决方案
我也遇到了这个问题,为了解决它,我必须将DynamicNodeProvider参数的第二部分更改为项目组件名称(这是通过选择您的项目,然后在Visual Studio中找到的,然后右键单击 - >属性 - >属性,应用程序选项卡。
在您的情况下,可能是
dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"
不隶属于 StackOverflow