【问题标题】:ASP.NET MVC - Simple Breadcrumbs (SiteMap)ASP.NET MVC - 简单的面包屑(站点地图)
【发布时间】:2011-03-15 19:55:06
【问题描述】:

我开发了一个 ASP.NET MVC 2 应用程序,我想在每个页面中放置一个简单的面包屑(站点地图),如下所示:

首页 > 电影 > 详情

等于网址:http://localhost/home/movies/details

我怎样才能实现它?我想把它放在我的母版页中。

谢谢!

【问题讨论】:

标签: asp.net-mvc-2 sitemap


【解决方案1】:

我建议使用MVCSiteMapProvider。它以 NuGet 包的形式提供。

它可用于生成面包屑(您可能会问到)以及站点地图。

MvcSiteMapProvider 就像名字一样 暗示,一个 ASP.NET MVC SiteMapProvider 的实现 ASP.NET MVC 框架。针对 ASP.NET MVC 2,它提供站点地图 XML 功能和互操作性 使用经典的 ASP.NET 站点地图 控件,例如 SiteMapPath 控件 用于渲染面包屑和菜单 控制。

基于区域、控制器和动作 方法名称而不是硬编码的 URL 参考,站点地图节点是 完全基于动态 应用程序中使用的路由引擎。 ASP.NET MVC的动态特性 在 MvcSiteMapProvider 中紧随其后: 有很多可扩展性 允许您扩展的点 提供的基本功能。

【讨论】:

  • 当动态节点的数量非常多(20.000+)时,我对 MvcSiteMapProvider 的体验很糟糕。
【解决方案2】:

如果它总是等于 URL,那么绝对最简单的方法就是使用类似这样的东西来利用它:

var menuitems = Request.Url.AbsolutePath.Split("/".ToCharArray(),
    StringSplitOptions.RemoveEmptyEntries);

menuitems 现在将包含执行简单 foreach 循环和构建菜单所需的菜单项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多