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

asp.net-mvc - MvcSiteMap 提供程序设置问题

关于这篇文章,我正在使用MvcSiteMap提供程序。我似乎无法让它工作。我正在做的是打开下载提供的项目,编译它,然后获取构建生成的 MvcSiteMap.Core.dll,将它放在我的 MVC 项目的 Dependencies 文件夹中,然后右键单击引用和点击“添加参考”。从这里开始,我只是想在我的母版页中使用它,但智能感知并没有选择它,并且尝试使用它进行构建也不起作用。

我正在努力做<%=Html.SiteMapPath()%>没有任何运气。有任何想法吗?

0 投票
1 回答
963 浏览

asp.net-mvc-2 - ASP.NET MVC 中“管理员”应用程序的站点导航

我为我的 ASP.NET MVC 应用程序创建了一个名为“Admin”的区域项目。

这将包含站点管理部分的所有逻辑,用户可以在其中添加/删除页面等。

顶部有一个菜单,用户可以管理的内容。(例如“内容”、“用户”等)

对于其中的每一个,我都在制作一个控制器('ContentController'、'UsersController' 等)

我想知道如何设置导航,因为似乎有不同的方法。

一种方法是使用 MvcSiteMap,它涉及创建一个“.sitemap”文件并使用“MvcSiteMapNode”属性在我的控制器上装饰操作。

上面的问题是实现起来很复杂(尤其是在 Area 项目中,因为 Areas 在 ASP.NET MVC 中的工作方式)。这似乎也有点矫枉过正。

我想出了一个不同的方法,就是用我自己的属性来装饰每个控制器。然后我有一个辅助方法,它通过使用反射循环遍历每个控制器来呈现我的导航,挑选出具有该属性的那些,然后将它们添加到导航菜单中。

您对上述方法有何看法?你能想出一种更简单的方法吗?

0 投票
1 回答
2503 浏览

asp.net-mvc - 为什么我的 Sitemap.CurrentNode 为空?

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

使 Sitemap.CurrentNode 在我的代码中工作是一个奇怪的问题。

我还没有弄清楚如何在 STOF 上列出代码......所以这里是很容易显示的代码。

标题: “localhost/home.aspx/about”
Response.write(SiteMap.CurrentNode.Title)

标题: localhost/Web.sitemap "
siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
siteMapNode url="localhost" title="ROOT" description="parent"
siteMapNode url=" localhost/Home.aspx/about" title="关于" description="妈妈我很冷"> /siteMapNode
/sitemap

使用 MVC 路由。 routes.MapRoute("Default", "{controller}.aspx/{action}/{id}", 新的 {.controller = "Home", .action = "Index", .id = ""})

谢谢

0 投票
1 回答
1396 浏览

asp.net-mvc - how to install and use MVC Sitemap

since the Sitemap of VS2008 does not work with MVC, I found MVC Sitemap by maartenba on codeplex. But how do I install and use this.. The download is a sample, and below it is a Dll. I'm sure the install is ridiculously simple, and also overlooked. So I'm looking here to see if I can get assistance using this package in my VB website.

http://mvcsitemap.codeplex.com/

SideNote: perhaps I should convert to a C# app...or can I just start writing my controllers in c# I do enjoy it more than VB.

Thanks

0 投票
1 回答
342 浏览

asp.net-mvc - 如何使用高效的 Route 和 ASP.NET Sitemap 对这种导航场景进行建模?

我需要为以下场景建模,但我无法让它与 MvcSitemapProvider 一起使用(我认为我的问题也直接映射到默认的 SiteMapProvider)。我想让默认的面包屑控件与我的动态数据一起正常工作。

我有一个列表,products其中category包含一个parent-category

  • 父类别
    • 类别
      • 产品

我希望能够使用以下网址:

(1) /Products
(2) /Products/MainCategory
(3) /Products/MainCategory/Category
(4) /Products/MainCategory/Category/Product

显然我下面的解决方案不是最优的。

站点地图中的Products节点没有子节点,因此它们不会出现在我的菜单中。

我创建了一个中间对象,它添加了主类别和类别,以便它们显示在我的菜单中。但这不会解决问题,因为其他控件(面包屑)只是说我在 /Products 上。

我应该更改路线还是更改站点地图定义?或者也许是别的什么?


我目前有以下内容:

  • 2 路由
    1 用于 /Products、/Products/MainCategory 和 /Products/MainCategory/Category -> 映射到 ProductsController.Index()
    1 用于 /Products/MainCategory/Category/Product -> 映射到 ProductsController.Product()
  • 站点地图中有 1 个条目,
    其中定义了动态参数 (MainCategory;Category)

Global.asax 路由定义:

我的站点地图中有以下条目:

0 投票
2 回答
469 浏览

asp.net-mvc - MVSitemap - 维护子页面中的 ID 参数

我有一个网站的以下结构:

它与大多数网站通常使用的 /products/edit 和 /products/details 方法略有不同,因为编辑链接仅在详细信息页面上可用。

我的问题是ASP.NET MVCSitemap不维护站点地图中的键。因此,当我在编辑页面上时,它会产生以下内容:

而不是我期望的HTML:

请注意,第二个链接中没有密钥。有没有简单的方法来解决这个问题?

0 投票
2 回答
1003 浏览

asp.net - asp.net mvc 应用程序的站点安全/访问管理

我正在尝试找到一种用于用户访问验证的良好模式。

基本上在一个 webforms 应用程序上,我有一个框架,它使用用户角色来定义访问权限,即,用户被分配到角色中,并且“页面”被授予对页面的访问权限。我在数据库中有一个表,其中列出了所有页面。页面可以具有从父页面继承其访问权限的子页面。

在定义访问权限时,我为角色分配了对页面的访问权限。然后,该角色中的用户可以访问这些页面。管理起来也相当简单。我实现这一点的方式是在每个页面都继承的基类上。在 pageload/init 上,我会检查页面 url 并验证访问权限并采取适当的行动。

但是我现在正在开发一个 MVC 应用程序并且需要实现类似的东西,但是我找不到让我以前的解决方案工作的好方法。纯粹是因为我没有静态页面作为 url 路径。另外我不确定如何最好地解决这个问题,因为我现在有控制器而不是 aspx 页面。

我查看了 MVCSitemapprovider,但这在数据库中不起作用,它需要一个站点地图文件。我需要控制动态更改用户权限。

任何想法/建议/指针将不胜感激。

0 投票
1 回答
355 浏览

c# - 如何更有效地使用 SiteMap?

因此,在我们的网站中,我们使用SiteMap. 对于每个请求,我们都会渲染一些菜单,并SiteMap.RootNode在辅助函数中执行此操作。

现在,当我使用dotTrace对我的网站进行分析时,我看到这get_RootNode()需要很多时间(大约 70-75 毫秒)。但我们知道这SiteMap是静态的。所以,我想以某种方式获得SiteMap.RootNode唯一的一次,Application_Start并通过每个请求访问它。

所以,我的问题是,

我的方法正确吗?我该怎么做?或者有什么有效的方法可以使用SiteMap.RootNode

谢谢。

0 投票
1 回答
128 浏览

asp.net - 您将如何使用 MVCSITEMAP 实现这一目标?

您将如何将视图数据传递到站点地图文件中?

0 投票
1 回答
113 浏览

asp.net - MvcSitemapProvider 在 Https 而不是 Http 中返回所有内容

我正在使用 MvcSitemapProvider 并且工作正常,但它在 Https 而不是 Http 中返回所有结果。

我无法找到在 http 中返回结果的方法(搜索引擎的站点地图)

返回喜欢