问题标签 [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 回答
5027 浏览

asp.net-mvc-3 - mvc 3站点地图提供程序-指向同一节点的多个路径

我最近开始使用 marteenba 的站点地图提供程序,因为我无法解决我拥有的其他站点地图的路线问题。比我之前的好多了 我的问题是:如何从转到单个主页的页面创建不同的面包屑路径?考虑下面的想法:

站点地图结构

在上面的示例中,我的面包屑跟踪始终显示节点客户端搜索而不是任何其他节点。我不知道是否应该为每种搜索创建不同的路线(我在上一个站点地图上这样做了,但不幸的是 iis6 不喜欢它)。

我感谢您的帮助。

编辑

在论坛上搜索我发现了一个类似的问题。所以,考虑下面的结构:

0 投票
1 回答
408 浏览

asp.net - 在 SiteMapNode 子节点中设置角色

这些站点地图节点位于 Web.Config

无论如何,酒店设置中的某些子站点地图节点只能由管理员访问,而酒店管理员不能访问?

0 投票
1 回答
659 浏览

c# - Sharepoint 中的自定义导航提供程序 - 如何从列表中生成导航项?

感谢您阅读我的问题。

以下情况:
- 基于自定义内容类型的共享点列表。内容类型只不过是一个带有一些额外属性(如 url、targetpage)的文件夹。- 文件夹内容类型和项目代表一个菜单结构。例如:

主页 | www.home.com | home.aspx
---> 子主页 | www.subhome.com | subhome.aspx 印象
| www.impressum.com | 印象.aspx

这种结构没有限制它的深度或它可以包含多少项目/文件夹。唯一的限制是文件夹内的每个名称都必须是唯一的。

由于性能的原因,我需要一次获取列表中的所有项目,而不是每个文件夹。我是这样管理的:

之后,我将 SPListItems 转换为一个名为 NavigationEntry 的对象。该对象包含一个 SiteMapNode 和一些其他属性,例如路径、项目名称和级别计数(例如 Home/Subhome = level2,Impressum = level1)。

现在我将所有这些项目放在一个字典中,路径+项目名作为键(因为它是唯一的,并且给了我项目所在位置的提示)。之后,我使用 linq 访问该字典并获取每个级别的项目级别,直到我到达末尾(级别上没有可用的项目)。现在是棘手的部分。我必须将这个奇怪的结构“转换”为 sharppoint 的导航结构。因为我是 sharepoint 的新手,所以有时这有点令人困惑。

目前,我通过关卡并使用 SiteMapNodeCollections 创建 SiteMapNodes,进入下一个关卡,查看父项是否已经存在,将子项放入其中等等。这行得通,但它非常复杂、肮脏和脆弱。

有没有“简单”或更结构化的方法来解决这个问题?我不是在寻找已经编码的解决方案,而是在寻找有关如何解决此问题的正确方向的任何提示。谢谢!:)

0 投票
1 回答
432 浏览

sharepoint-2010 - 如何在 SiteMapProvider 之外访问(PortalSiteMapNode)RootNode?

我认为对于经验丰富的共享点开发人员来说是一个非常简单的问题。

在 PortalSiteMapProvider 中,我可以通过以下方式访问 RootNode:

我的问题是,我如何从其他地方访问此节点,而不参考提供者?有没有类似的东西

非常感谢你!

0 投票
3 回答
971 浏览

c# - LINQ 查询中的 WHERE 子句似乎失败了

请原谅任何天真,我是 C# 世界的新手。如果我遗漏了有用的信息,请告诉我。

我正在为 Dynamics CRM 2011 的客户门户构建一个自定义 SiteMapProvider。首先我初始化一个数组:

这样就被填充了:

后来,我尝试像这样查询 WebPages[]:

当我通过调试器运行它时,我得到一个 NullReferenceException,它指向我的 WHERE 子句中的条件,说 p.adx_parentpageid.Id 为空,这对于网站的主页是正确的。这导致了一个问题:

为什么这个查询会在我的查询中显示主页p?我有什么误解?

0 投票
2 回答
2529 浏览

c# - 伪造 SiteMap.CurrentNode 以使用另一个现有的 SiteMapNode

我的网站正在从数据库和 xml 数据动态创建站点地图。但是,这对于列出新闻文章的网站的一部分来说效果很好,因此决定不将新闻文章详细信息页面放在站点地图中。因此,如果您要单击新闻文章的标题(从站点地图中的列表页面),它会将您带到包含文章的页面,但该页面/网址不在站点地图中。

我在使用的母版页中有控件和逻辑

本质上,在页面加载时,我想将 SiteMap.CurrentNode 更改为新闻文章列表页面(位于站点地图中)的节点。因此,基本上在此页面上运行的所有逻辑都会将该页面视为列表页面。我无论如何都找不到这样做。

此代码将为我提供我想要的节点,因为我知道它的密钥。

所以基本上我希望我能做到这一点:

但是不能设置 CurrentNode。

关于我如何做到这一点的任何建议?我很感激帮助。

0 投票
1 回答
3578 浏览

asp.net - 如何以编程方式修改在 ASP.Net C# 中生成站点地图

我正在开发一个多语言动态网站,我需要为每个页面生成站点地图(面包屑)导航,并且我已经完成了我的研究并在过去两天中完成了几个示例,不幸的是我无法以编程方式生成基于站点 url 的站点导航。

我的不同 URL 的示例

我的站点地图

我找到了一个似乎足够接近的示例,但我无法使其正常工作,因为我对 C# 编程很熟悉,并且发现它很困难。

http://msdn.microsoft.com/en-us/library/ms178425.aspx

我只有一个选择来从数据库中获取每个查询字符串的值并生成自定义 BreadCrumb 导航,这将是一项任务和最后一个选项,这还有一个优势,我可以针对每个查询字符串获取多语言值。

另一方面,我也在不断学习如何做到这一点,如 MSDN 网站上的示例所示。在这个例子中,我也很困惑如何处理多语言部分。

如果有人可以帮助我为我编写它,我将不胜感激。我将不胜感激一个完整的示例,因为我是 C# 新手,如果没有适当的指导,我会发现它很困难。

0 投票
1 回答
945 浏览

asp.net-mvc-3 - 使用 ImageUrl DynamicNodeProviderBase 的问题

显然,标题采用 ImageUrl 的值

在我的 DynamicNodeProviderBase 类中同时Title配置ImageUrl

DynamicNodeProviderBase

看法

在我看来,调用助手来生成我的页面的菜单。此菜单由 DisplayTemplates 自定义

@Html.MvcSiteMap().Menu("sitemap-menu", true, true, false)

显示模板

基本上有一个用于 的 DisplayTemplatesMenuHelperModel和一个用于SiteMapNodeModel. MenuHelperModel很简单(只需调用传递我的自定义模板的助手)@DisplayFor不会把他的代码放在这里。

以下代码SiteMapNodeModel

但是值不正确(或被交换)。查看调试图片:

调试

调试模式
在此处查看完整图片

注意:红色的描述是错误的:正确的是:Title 值应该在 ImageUrl 属性中!

问题

为什么ImageUrl属性的值是Title,为什么TItle是空的?

0 投票
5 回答
485 浏览

c# - 站点地图安全修剪引发 SQL 错误

我正在使用带有 secutiry trimming的默认站点地图提供程序。但是,有些方法,我得到:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。

我认为站点地图提供商正在错误的位置寻找角色。我的配置是这样的:

Sitemap 标签的定义如下:

为什么我收到 sql 错误?修剪如何获得角色?

编辑: ysod

0 投票
1 回答
1036 浏览

web-config - 如何使用 asp:menu 控件配置多个站点地图

它快把我逼疯了。我已经搜索并尝试过搜索并尝试过......现在我请求您的帮助!

我有一个使用站点地图的 asp:menu 控件。用户通过身份验证后,我想从后面的代码(c#)动态更改站点地图。这是相关的代码行:

成功构建(VS 2010、4.0 框架)后,登录后出现以下错误:

“/”应用程序中的服务器错误。找不到 SiteMapProvider 'MemberSitemap'。

我究竟做错了什么?谢谢....鲍勃