问题标签 [mvcsitemapprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1408 浏览

asp.net-mvc-3 - MVCSiteMapProvider 因空对象而崩溃

我正在使用 MvcSiteMapProvider 为我的网站创建菜单。它工作正常,但突然失败并出现错误:

System.NullReferenceException:对象引用未设置为对象的实例。

这是堆栈跟踪:

我想不出我为引入此错误所做的任何更改。所做的唯一更改是由于使用 StyleCop 的结果(例如更改使用顺序、方法、属性等)。任何的想法?

0 投票
1 回答
2297 浏览

asp.net-mvc-3 - 如何使 MvcSitemapNode 仅在谷歌站点地图中可见而不在菜单中可见

我想让我的 Mvc.sitemap 中的一些节点只在谷歌站点地图中可见,不需要在菜单中显示它们。

有什么办法可以实现吗?

可能我需要以某种方式玩属性可见性

有什么想法吗?

0 投票
1 回答
219 浏览

asp.net-mvc-2 - MvcSiteMapProvider 在“未授权”上显示节点

另一个希望相当微不足道的 mvcSiteMap 问题:

我有几个节点,我只想在用户授权时显示,例如登录链接。我真的必须编写自己的可见性提供程序吗?

或者,是否存在表示“未授权”的 asp.net mvc 操作的过滤器属性?

干杯,达菲

0 投票
1 回答
282 浏览

asp.net-mvc-3 - 显示第一个节点的动态站点地图,而不是正确的节点

我定义了一个相当广泛的站点地图,使用静态和动态节点的混合。渲染站点地图(所有节点)时,它会将它们全部渲染为 100% 正确,但是当渲染为面包屑(在最后一个/最深的子节点上)时,它会为所有父节点和当前节点选择第一个节点!所以基本上它的菜单渲染是这样的:

    • 1 级(节点 #1)
      • 2 级(节点 #1)
        • 3 级(节点 #1)
      • 2 级(节点 #2
        • 3 级(节点 #2)
        • 3 级(节点 #3)

这一切都很好,花花公子!但是当渲染面包屑时,应该是第 3 级节点#3,它看起来像这样(L3 #1-3 相同)根 - L1 #1 - L2 #1 - L3 #1

Root 和 L1 是静态定义的,L2 和 L3 是动态定义的。它在面包屑模式下的 bot L2 和 L3 上失败,即只选择第一个节点,而不是父节点/当前节点的正确节点。

我试图在这里不提供许多实现细节,因为这将需要我发布很多代码/Xml,所以我希望我不必这样做......基本上我希望有人知道是什么原因造成的并采取补救措施!也许有一种我不知道的调试技术?

0 投票
1 回答
670 浏览

asp.net-mvc-3 - MvcSiteMap Provider 性能问题

我正在使用一个动态节点提供程序,它总共包含 6000 个节点。第一次请求包含 @Html.MvcSiteMap().SiteMapPath() 的 razor 视图时,页面最多可能需要 7500 毫秒才能加载。

时间都在此调用中占用,因为在动态节点提供程序中分析我的代码需要 28 毫秒。

如果我取出 mvc.sitemap 中的所有动态节点,代码会很快返回 280 毫秒。

有什么方法可以预加载这个 - 我正在使用 IIS 7,因此如果 IIS 7.5,则无法使用应用程序预热模块或新的应用程序启动预热部分。

我正在使用最新的 NuGet 版本 3.2.1

0 投票
1 回答
716 浏览

asp.net-mvc-3 - 使用 MvcSiteMapProvider + DI + 存储库模式 = 存储库对象为空

在我的应用程序中,我有一个项目登记册。要访问这些项目是 url:/project/{url-project}

我使用这个项目来生成路径,但由于“注册项目”是动态的,因此必须手动实现它,如本文所示。

所以我做了:

在我的 Mvc.sitemap

问题

我的问题是ProjectRepository始终为空!

但在我的设置中,Ninject 是正确的!该存储库在控制器中使用,并且运行良好

尝试

我试图通过构造函数注入这个依赖,但结果是一样的!

0 投票
2 回答
2607 浏览

asp.net-mvc-3 - 使用 dynamicNodeProvider 的子节点

我使用这个项目来生成站点地图路径。

在我的应用程序中,我希望站点地图路径保持如下:

路径: Home > Projects > {project-name}
网址: /projects/{url-project}

路径: Home > Projects > {project-name} > Photos
网址: /projects/{url-project}/photos

路径: Home > Projects > {project-name} > Addresses
网址: /projects/{url-project}/addresses

路径: Home > Projects > {project-name} > Admin
网址: /projects/{url-project}/admin

尝试

为此,我创建了一个实现DynamicNodeProviderBase

mvc.sitemap

结果

路径: Home > Projects > {project-name}
网址: /projects/{url-project}

路径: Project > Photos
网址: /projects/{url-project}/photos

路径: Project > Addresses
网址: /projects/{url-project}/addresses

路径: Project > Admin
网址: /projects/{url-project}/admin

研究

在网上看,我在 stackoverflow 上找到了这个问题,但不太了解分辨率,或者它不适合我的问题。无论如何,如果这是答案,你可以给我更多关于如何实施解决方案的细节?

感谢大家的帮助!

0 投票
2 回答
1369 浏览

asp.net-mvc-3 - url 重写和 mvc 导致异常

我正在使用 IIS URL Rewrite 将“/about”重写为“/home/about”。

如果我使用任何生成像“@Url.Content”或“@using(Html.BeginForm(Action, Controller)”这样的相对 url 的助手,它会给我一个例外:

重现异常非常容易,我很沮丧,我还没有找到解决方案。有任何想法吗?提前致谢。

堆栈跟踪:

0 投票
1 回答
492 浏览

asp.net-mvc - ASP.NET MVC 捕获所有参数并在其上创建站点地图

在 ASP.NET MVC 中,我有一个定义的包罗万象的路线,如下所示:

在控制器内部,我正在查询输入的产品{tags}如下:

我正在努力解决的是如何使用MVCSiteMapProvider DynamicNodeProviderBase类创建站点地图。

任何想法?

0 投票
2 回答
1078 浏览

asp.net-mvc-3 - 使用 MVCSiteMap 仅显示根节点

我正在使用Asp.net MVC SiteMap Provider来管理我网站的站点地图。

应用结构:

这是一个小应用程序,我有一个名为“Admin”的区域

站点地图

问题

要显示主菜单,请使用以下命令:

这是第一个问题,所有节点都显示出来了。

  1. 我想只显示节点根(例如“INFANTIL”和“ADULTO”将不会显示)
  2. 无法显示管理区域的节点。它们只出现在另一个视图上。

我怎样才能完成这些任务?

问题

如何仅生成特定节点的站点地图?
示例:我想生成“ADMINISTRAÇÃO”的站点地图唯一子节点

谢谢大家!!