问题标签 [sitemapprovider]

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 回答
503 浏览

asp.net - 为什么启用安全修剪后我的菜单根本不显示

启用安全修剪时,我的完整菜单系统未显示...

我在 Web.config 中启用了安全修剪,如下所示...

我的 Web.sitemap 如下...

认为问题与访问规则有关,我删除了所有访问规则,但这并没有帮助。基本上,如果“安全修剪”启用为“真” - 我的菜单都没有显示,但如果我将设置更改为“假”,整个菜单都会显示,但显然不会修剪。

0 投票
1 回答
2112 浏览

sharepoint - 无法在 aspmenu 中更改 DataSourceID

我很抱歉我的英语。我正在尝试放置一个自定义提供程序,但是当我在我的 SiteMapDataSource 提供程序中写入时,没有任何变化。当我更改他的 ID 并相应地更改 DataSourceID 页面中的属性时,会出现错误,但事实并非如此。他记住了 TopSiteMap ID,不想编译其他的。


提供程序已在 Web 配置中注册,并且在其他网站集中正常工作。但是这个有一个错误。

如果母版页菜单如所述:

抛出异常:

System.Web.HttpException:“TopNavigationMenuV4”的 DataSourceID 必须是 IHierarchicalDataSource 类型的控件的 ID。找不到 ID 为“topCrossSiteMap”的控件。

并且在ULS中在请求没有相关ID的记录前2毫秒访问内容数据库时出现如下错误:

PermissionMask 检查失败。要求 0x00010000,有 0x00000000

拒绝访问。异常:System.UnauthorizedAccessException:访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
在 Microsoft.SharePoint.Library.SPRequestInternalClass.GetWebMetainfo(String bstrUrl)
在 Microsoft.SharePoint.Library.SPRequest.GetWebMetainfo(String bstrUrl)。

如果母版页菜单如所述:

一切正常,没有错误。但菜单显然使用了 SPNavigationProvider。

还有一个细节:网站集的不同面孔以不同的方式显示。(一个退出错误,另一个什么都没有改变) 首先以为是http.sys对象的问题。尝试重新启动 WFE 服务器。但这并没有帮助。

0 投票
1 回答
1899 浏览

asp.net - 站点地图提供程序错误

嗨,我无法检测到此错误。我检查了 web.config 文件并且没有站点地图标签。我应该在哪里寻找这个。有人能指出我正确的方向吗

0 投票
1 回答
418 浏览

asp.net - 站点地图的查询字符串参数

我正在使用 VWD 2010、带有 C# 的 ASP.NET。我在另一篇 SO 帖子中找到了如何执行此操作的指针。不幸的是,我无法让它工作。

它指向的示例代码在这里: http ://weblogs.asp.net/jgaylord/adding-querystring-parameters-to-the-sitemapnode

我已经为此包含了 C# 代码,但我似乎无法让程序识别代码实际上存在。我设置了永远不会被调用的断点。
我把它放到 web.config 中:

注意AspNetXmlSiteMapProvider是如何被注释掉的。该名称不会出现在文件中的其他位置。然而,当我尝试运行我的程序时,我收到此错误消息: 为 defaultProvider 指定的提供程序“AspNetXmlSiteMapProvider”在提供程序集合中不存在。

如果我取消注释该行,程序会运行,但永远不会调用新代码。有任何想法吗?

0 投票
1 回答
1097 浏览

asp.net - 查询站点地图的字符串参数

我正在使用 VWD 2010、ASP.Net、C#。我有一个可用的站点地图,但我需要能够链接到外部站点并发送参数。我发现一些看起来应该可以工作的代码,但我缺少某种理解,或者他们似乎假设我知道一些我不知道的东西。(对方似乎已经完全理解了。)

修订:添加以显示菜单和站点数据源的声明方式。

请注意,菜单的工作原理是正确显示 Web.sitemap 中的数据。

这是原始代码的链接: http ://weblogs.asp.net/jgaylord/adding-querystring-parameters-to-the-sitemapnode

我的站点地图有效,但似乎没有调用这个扩展的 sitemapprovider。我确信这个提供者没有做我需要的事情......此时我只是想确保它被调用。因此,我在 Initialize() 和 SmartSiteMapProvider_SiteMapResolve() 例程中的代码中设置了一些中断。我只是想在我认为此时应该调用它时调用它。如果我不能调试它,我就不能修改它,如果我不能调用它,我也不能调试它。

我为此使用了 C# 代码,并在下面复制了它。我已将它放在名为ExtendedSiteMapProvider.cs的顶层它自己的类文件中

这是我正在使用的 web.config 中的部分。

该站点的 C# 代码。

0 投票
2 回答
13814 浏览

c# - 如何在 ASP.net 页面中设置面包屑导航

我的页面文件夹层次结构是(它们都在同一个文件夹中):

Web.sitemap设置了一个页面:

我正在调用我的 MasterPage:

Default.aspx的登陆页面也是如此。用户可以单击find_provider.aspx以搜索他们选择的提供商。对于每个供应商搜索结果,用户可以单击 PROFILE 链接来查看每个供应商的信息,即provider.aspx页面。

所以:

  • 如果我在主页上,我的面包屑应该是:Home
  • 如果我在查找提供商页面上,我的面包屑应该是:Home Provider
  • 如果我在个人资料页面上,我的面包屑应该是:Home Provider Profile

相反,我在我的页面上看到了这个(无论我在哪个页面):

请帮我修改代码,以便为每个站点节点和子站点节点显示面包屑。

我想要实现的示例:

HTML:

输出:

在此处输入图像描述

0 投票
1 回答
319 浏览

asp.net-mvc - MVC站点地​​图问题

我在使用 MVC 站点地图时遇到了一个奇怪的问题。目前我最多有 3 个级别的站点地图链接,将来可能会发生变化。问题是当我处于下一个级别但基本级别正在工作时,中间级别的站点地图链接不起作用(单击链接抛出错误 - Http 403.1 Forbidden) 。发现 URL 不正确,比如 Area 和 Contoller 名称只是弹出了漏掉的动作名称。

EG: 首页>公司>添加

在添加屏幕(最终级别)上时, - 单击主页重定向到 localhost:xxxx/Home/index 并且工作正常。

  • 单击公司重定向到 localhost:xxxx/Company/Company 预计将重定向到 localhost:xxxx/Company/Company/index

并导致以下错误,

本地主机:xxxx/公司/公司/

HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。最可能的原因: • 未为请求的 URL 配置默认文档,并且未在服务器上启用目录浏览。

MVC.Sitemap 详细信息如下,

0 投票
0 回答
128 浏览

asp.net - XmlSiteMapProvider 只解析第一个节点

我有一个烦人的问题,我找不到任何解决方案的开始,所以我希望你能帮助我。

我有一个为每个节点定义角色的站点地图:

在我的 web.config 中,我启用了安全性并使用了自定义提供程序:

在我的提供者中,我只覆盖 IsAccessibleToUser 来执行我的逻辑:

我的问题是 IsAccessibleToUser 中使用的节点始终是 URL 为“Default.aspx”的节点。因此,如果我有角色可以看到它,则会显示所有节点,如果我没有角色,则不会显示任何节点。

我不明白这里有什么问题。

你有什么提示吗?

0 投票
1 回答
697 浏览

asp.net - SiteMapPath not working with route attribute in nodes

I have this xml sitemap:

This is the targeted route defined in area route configuration:

Then navigation menu tree is shown with @Html.MvcSiteMap().SiteMap() but breadcrumb is not working when using @Html.MvcSiteMap().SiteMapPath(). Is it because I'm using routing explicitly? and what could be the solution?

0 投票
1 回答
87 浏览

c# - 将 SiteMapNode 移至列表顶部

我有System.Web.SiteMapProvider并且我得到所有树(节点)使用providerSiteMap.RootNode.ChildNodes

对于来自RootNode的子节点,我想将最后一个节点移动到顶部(作为第一项)。

我想移动最后一个节点 N10:

我试试这个:

我尝试:

var item = providerSiteMap.RootNode.ChildNodes.Cast().FirstOrDefault(x => x.Key == "9100");

ToList().Count前后是一样的Remove(item)

我尝试:

当我尝试执行时,我得到Collection is read-only错误providerSiteMap.RootNode.ChildNodes.Remove(item);

有什么建议么?