c# - MvcSiteMapProvider 和 dynamicNodeProvider 的问题

标签 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"

这是我的 .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 但它并不是因为我制作的两个类中的任何一个都没有 beakpoints,

请帮助。

最佳答案

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

你的情况可能是

dynamicNodeProvider="MySite.Helpers.ClassifiedCatDynamicNodeProvider, MySite"

关于c# - MvcSiteMapProvider 和 dynamicNodeProvider 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3759224/

相关文章:

c# - 哪些 C# 类型名称比较特殊?

C# Task Parallel Library 第一次慢

asp.net-mvc - MVC 中的局部 View

c# - 默认模型绑定(bind)器不绑定(bind) IEnumerable 中的 Nullable 类型

jquery - 将 jQuery Datepicker 添加到动态添加的 &lt;input&gt;

c# - Instagram API - Instasharper 在登录时出现 'challenge_required' 错误

C# 控制台应用程序 GetConsoleMode 错误代码 6

asp.net - 在 Azure Web App 上预编译 ASP.NET MVC View

c# - 使用 MVC5 允许来自不同域的帧

c# - 修改模型时的 ASP.NET MVC TryValidateModel() 问题