问题标签 [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.
asp.net-mvc-3 - 使用preservedRouteParameters 停止Mvc Sitemap 提供程序缓存节点
在站点地图中,我有几个节点,其中在生成 URL 时包含路由参数(meetingId),例如
当我浏览一个会议(meetingId = 1)并切换到另一个会议(meetingId = 2)时,mvcsitemapprovider 生成的菜单没有改变。
上面的节点会生成 URL:
但实际上应该是:
在我的顶级节点中,我有 changeFrequency="Always":
在 web.config 我有:
节点是如何被缓存的?以及如何解决这个问题?
asp.net-mvc - MvcSiteMapProvider - 多个页面需要链接到一个菜单节点
在我的MVC3项目中,我安装了 Maartenba 的MvcSiteMapProvider v.3.2.1,并且我创建了一个非常简单的静态两级菜单。下面是概念图结构。
现在,成员列表下有许多子页面(例如,详细信息、编辑等),但我不希望这些显示为 3 级菜单项(主要是因为它们与特定的成员 ID 相关联)。但是,我确实希望所有这些第三级页面都“绑定”到成员列表菜单节点,以便在这些页面上显示为选中状态。
我的 Mvc.SiteMap 文件中有以下代码:
为了呈现菜单,我在 _Layout.cshtml 文件中使用了以下代码:
最后,我修改了 SiteMapNodeModel.cshtml 文件,以便将“selectedMenuItem”类添加到与用户正在查看的页面相关的节点。这是呈现菜单节点的代码片段。
地图的显示和导航工作得很好,直到我进一步导航到成员区域。例如,如果我经过Members/Member/List
(正确显示菜单)并进入类似的页面Members/Member/Detail/1
,则会员中心下的子节点(“会员列表”、“活动日历”等)消失。因此,这是我在当前代码中遇到的两个问题:
我想指定任何给定页面是“会员中心”父菜单节点的一部分,这样“会员中心”的子菜单节点都会显示出来,而不管给定页面是否定义为菜单中的特定节点结构体。
我想指定(可能在视图或控制器操作中)特定页面应绑定到特定菜单节点。例如,当用户位于 时
Members/Member/Detail/1
,我只想指定“成员列表”子节点,IsCurrentNode
以便 SiteMapNodeModel.cshtml 文件使用“selectedMenuItem”类正确装饰它。
有什么建议么?
asp.net-mvc - MVCSiteMapProvider - 最近添加的关键字,现在它们填充在 MenuHelper 的链接中
我在我的 MVC3 站点中使用 MVCSiteMapProvider,并且我最近在 mvc.sitemap 中的节点中添加了元关键字和描述
< mvcSiteMapNode controller="Home" action="Index" title="Home" description=""keywords="home, home page, 欢迎" >
... 例如。
然后我的视图像这样填充它:
@{ 字符串标题 = ""; 字符串关键字 = ""; 字符串描述 = "";
}
<标题>>@标题</标题>>
<meta name="keywords" content="@keywords" />
<meta name="description" content="@description" />
在我使用的所有页面上:
@Html.MvcSiteMap().Menu(0, true, true, 1)
自从我开始将内容放入关键字部分以来,菜单中的链接填充如下:
<a href="/?keywords=home%20%2C%20Home%20Page%2C%20welcome" >首页</a>
我不确定为什么会出现这种情况,我希望它不存在。有人有想法么?
asp.net-mvc-3 - 使用 MvcSiteMapProvider 创建动态多级站点地图
我有一个 mvc.SiteMap 定义如下:
在每个级别,节点都是从数据库中的值动态生成的。我的问题是,对于子节点,在构建站点地图时会多次调用节点提供程序。我不确定是否是:
- 为创建的每个父类型调用一次。所以如果有 5 个计划,那么关键功能的提供者会被调用 5 次,因此节点会生成 5 次。如果是这样,是否有某种方法可以传递提供者信息,以便我只能生成与当前父节点关联的节点,而不是所有具有该类型的节点?或者有没有办法访问当前的父节点?
- 由于另一个原因被多次调用,尽管最高级别的动态节点提供程序只被调用一次。
该代码现在可以工作,但是效率非常低。
这是一个示例提供程序:
任何帮助是极大的赞赏。
asp.net-mvc - 如果 MvcSiteMapProvider 的操作标记为 [Authorize(Roles = "Administrator")],则在 MvcSiteMapProvider 中显示节点
目前,我有一个需要授权Controller
的Index()
操作方法:
有了这个,相应的节点Mvc.sitemap
将不会显示在面包屑中:
我想要的是无论如何都显示这个节点......
假设用户未通过身份验证。所以我希望面包屑显示这一点:
目前它只显示:
如果用户单击“客户”节点,他将被重定向到登录视图……好的,没关系!
SiteMapVisibilityProvider
我尝试按照以下步骤实现自己的:
在调试时,我只能看到 Index 节点下方的节点,也就是说,在我目前的情况下,只有 Add 节点出现。表示 Index 操作方法的节点未显示在调试会话中。
有什么方法可以实现我想要的吗?
asp.net-mvc - ASP.NET MVC SiteMap 提供程序不会从属性生成站点地图节点
更新: 尽管有以下所有文本,但问题相当小 - 站点地图配置中 includeAssembliesForScan 参数中的错误程序集名称。它不应包含“.dll”部分。
我有 v. 3.2.2.0 的 MvcSiteMapProvider。
如此处所述,我使用属性在代码中定义站点地图节点。但是属性动作不会生成为节点。只有在站点地图中明确定义的节点才会生成。
那是我的代码:
网站地图:
家庭控制器:
账户控制人:
因此,这两个动作不会成为站点地图中的节点。换句话说,MvcSiteMapNodeAttribute 属性不起作用。为什么?
我的 web.config 的站点地图部分:
asp.net-mvc-3 - 使用 MVSiteMapProvider 的 FluentSecurity
我希望将它与 MvcSiteMapProvider 一起使用来隐藏/显示菜单项,而不是在我的 mvc.sitemap 文件中加倍和定义角色。
我已经浏览了 2.0alpha1 的源代码,但似乎无法弄清楚如何执行以下操作:
谁能指出我正确的方向?
谢谢
asp.net-mvc - MVCSiteMapProvider 动态节点始终返回面包屑中所有页面的第一个节点
我正在为我的 ASP.NET MVC 3 项目使用 MVCSitemapProvider,我有一个用于新闻稿部分的动态节点。我面临的问题是一个部分有多个节点,当我查看站点地图时,它可以正常工作:
但是在面包屑中,如果我导航到新闻稿 #2 页面。面包屑将显示第一个节点。
这是节点提供程序的代码
和 MVC 站点地图代码:
当我重写这个问题时,我一直在玩代码,没有进行任何重大更改,现在......新闻稿#1显示新闻稿#1,新闻稿#2显示新闻稿#3和新闻发布 #3 显示新闻稿 #1。
我对此感到困惑。
asp.net-mvc-3 - 找不到类型“System.Web.Mvc.WebFormView”的构造函数
我刚刚从 TFS 中检查了一个 asp net mvc 项目。安装所有必需的 NuGet 包后,我尝试运行该项目。
尝试使用 MvcSiteMapProvider 的以下方法之一时,我不断收到此错误消息:
- 站点地图标题()
- 站点地图()
- 站点地图路径()
我正在使用 .NET Framework 4.0、MVC3 和 MvcSiteMapProvider 版本 3.2.2.0。
我通过 NuGet(包管理器控制台)安装了 MvcSiteMapProvider。
我的项目使用运行时版本 v2.0.50727 引用 ...\packages\MvcSiteMapProvider.3.2.2.0\lib\net40\MvcSiteMapProvider.dll 中的 DLL
任何帮助,将不胜感激。
c# - MvcSiteMapProvider 和带有连字符的 url
我有一个 MVC 站点,它使用带连字符的 URL(用于 SEO 优化),例如:
现在我已经实现了MvcSiteMapProvider
生成动态面包屑,但是对于带有连字符的 URL,它不起作用(在站点地图上找不到)。
我该如何解决这个问题?