Проблема с MvcSiteMapProvider и dynamicNodeProvider

Привет, я добавил провайдера в свою веб-конфигурацию, как показано ниже:

 <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 вызовет мой dynamicNodeprovider, но это не так, поскольку ни в одном из двух моих классов, которые я создал, нет точек останова,

Пожалуйста помоги.


person SimonGates    schedule 21.09.2010    source источник
comment
Можете ли вы уточнить, какие версии MvcSiteMapProvider и ASP.NET MVC вы используете?   -  person JustinStolle    schedule 23.03.2011


Ответы (1)


У меня тоже была эта проблема, чтобы ее исправить, мне пришлось изменить вторую часть параметра dynamicNodeProvider на имя сборки проекта (это можно найти в Visual Studio, выбрав свой проект, затем щелкните правой кнопкой мыши -> свойства, вкладка приложения.

В вашем случае наверное

dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"
person moonpatrol    schedule 02.08.2011
comment
Спасибо, это было большой помощью для меня. - person larryq; 16.07.2012