问题标签 [sqlsitemapprovider]
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.
asp.net - SqlSiteMapProvider - OnSiteMapChanged 事件永远不会触发?
我正在执行 SqlSiteMapProvider的Wicked Code实现,但在 VB.NET 中除外。
代码有一些问题会导致问题,我不明白它应该如何按照文章中所写的方式工作。我直接从下面提供的文章中提供了代码。为了方便查看,我在这里粘贴了代码
第一个问题 - 在创建树之前(第 134-137 行)实例化依赖关系(151-160) - 因此,只要将依赖关系添加到 http.cache(165-167),OnSiteMapChanged 事件(242)就会触发立即 - 使整个过程再次运行 - 并且循环多次,直到最终某些东西使它停止。(在我放弃尝试猜测它最后一次命中之前,我单步执行并计算了代码循环至少 20 次)
好的,所以为了解决这个问题,我只是将代码移动到在树构建之后创建依赖项,就在插入到 http.cache 之前(所以当添加到 http.cache 时,HasChanged 属性是假的,你不会卡住在这个伪无限循环中)。
我仍然有一个问题 - 每次加载页面时,BuildSiteMap() 都会命中并且第 121 行检查 _root 是否不为空 - 在它首次构建后它似乎永远不会为空......这很好,因为我不每次都想打数据库。现在,我在表中插入一条记录...... OnSiteMapChanged 事件永远不会触发。当我在应用程序上浏览页面时,站点地图没有反映新插入的记录 - 单步执行代码,我看到第 121 行的检查仍然导致函数短路......站点地图只会在我重新- 启动 Visual Studio,这会导致私有 _root 字段再次变为空,并重新构建站点地图,以反映新的更改..(刷新浏览器或启动新的浏览器实例不起作用)...
编辑:这个问题源于我存储的过程顶部的一个愚蠢的“SET NOCOUNT ON”行。显然这会破坏查询通知。似乎该语句被视为结果集,而第二个实际查询语句使结果集无效,从而导致通知。在我添加评论之前,这很难在 MSDN 文档中找到并且无处可寻。希望这能拯救别人我经历的吝啬鬼!
.net - .NET 来自数据库的本地化站点地图?
我有一个自定义站点地图提供程序,它从数据库加载页面。
页面(pageid、fk_pageid(父)、标题、url、show_in_menu)
我想全球化/本地化title
页面。最好的方法是什么?
sqlsitemapprovider - 覆盖备份
我需要设置一个工作来每天创建备份。我还需要覆盖现有备份。有人可以帮我吗。
谢谢,
asp.net - 如何隐藏节点不出现在菜单而不是面包屑上(使用 SqlSiteMapProvider)
我正在使用邪恶的代码 sqlsitemapprovider或它的 VB 版本。大多数事情进展顺利!但是,当我想隐藏一些节点以使其不出现在菜单上同时保持显示在站点地图路径上时,我无法弄清楚。我试图更改 sqlsitemapprovider 代码但没有成功。我找到了David Sussman(来自 sp.net)的答案。但它是针对 .sitemap 文件的。那么我怎样才能对上面提到的 sql 站点地图提供程序做同样的事情。
我在我的 SiteMap 表中添加了一个名为 visible 的列,它的类型是位,然后我完成了这些更改(对不起,这么长的代码):
我得到这个错误:
我想要的是告诉 sqlsitemapprovider 在每个站点地图节点中包含一个名为 visible="true/false" 的属性。由于这将是 sitemappath 和 menu 的额外属性(我认为),因此此代码将在菜单中而不是在面包屑中进行隐藏工作(根据 David Sussman 对基于我在问题中链接的类似文件 .sitemap 的线程的回复) :
如何做到这一点?谢谢你。
更新:我在这个页面上发现了一些非常接近的东西 ,但仍然无法部署解决方案。
sql - Microsoft Azure SqlSiteMapProvider 问题
我正在尝试将我的公司网站迁移到 Azure 服务器,但我遇到了 Sql SiteMap Provider 的问题。
我总是收到此错误:解析器错误消息:无法加载类型“SqlSiteMapProvider”。
希望有人可以帮助我如何解决这个问题。