MVCSITEMAPPROVIDERおよびDYNAMICNODEPROVIDERの問題
-
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>
別々のクラスファイルに2つのダイナミックプロダイダーを作成しました。基本的に同じです。 (ここに示すように http://mvcsitemap.codeplex.com/wikipage?title=dynamic%20sitemaps&version=1)
サイトマップを動作させることはできません。[サイト]を[サイトマップ]でページにロードするたびに、値を取得できません。
MVCSitemapが私のdynamicnodeproviderを呼び出すことはできますが、私が作成した私の2つのクラスのいずれにもビークポイントがないので、それはわずかではありません。
助けてください。
解決
私もこの問題を抱えていましたが、それを修正するために、DynamicNodeProviderパラメーターの2番目の部分をプロジェクトアセンブリ名に変更する必要がありました(これは、プロジェクトを選択して、右クリック - > [プロパティ]タブを選択してVisual Studioにあります。
あなたの場合、それはおそらくそうです
dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"
所属していません StackOverflow