是否可以从ASP.NET路由推断出站点地图?

时间:2011-10-06 16:54:51

标签: c# .net asp.net webforms asp.net-mvc-routing

我现在已经从站点地图的优势中受益了一段时间:

  • 外部页面关系。页面不负责定义自己的关系,而是由外部提供商提供。在渲染导航控件时,这会从页面中消除很多责任。例如。 “渲染我的孩子”而不是“我是产品列表页面,所以我应该渲染产品列表”。
  • 可以从任何地方推断出网页关系。例如。 Sitemap页面变得完全自动化,面包屑和顶级导航也是如此。
  • 通用导航。可重复使用的控件可用于呈现指向任何类型页面的链接列表。

到目前为止,我一直在使用SiteMapProviders作为路由机制。我一直在将“路由URL”和“处理程序URL”分别存储到每个节点的Url和Key属性中。即如果有请求,则调用FindSiteMapNode方法,并将请求重写为返回节点的密钥。

这完全 ,但我知道时间正在改变,我们现在有路由表。

经过一些研究,似乎无法从路线推断出页面之间的关系。 Ergo:“无法从路由表中推断出站点地图”。 (我是对的吗?)

假设这句话,我如何保持我的精彩站点地图与时俱进?有没有办法让两者之间没有大量的代码重复?通过我当前的方法,我将从路由表中获得哪些具体收益?

我看过:ASP.NET URL Routing with WebForms - Using the SiteMap,指向http://chriscavanagh.wordpress.com/2009/05/19/asp-net-webform-routing-with-sitemaps/

但是,该解决方案仅允许节点和路由之间的1..1映射。例如,您不能使用此方法将许多产品节点指向单个路径。

1 个答案:

答案 0 :(得分:3)

  

“这很有效,但我知道时代正在改变,我们现在   有路由表。“

为什么要改变适合你的东西?我建议您根据提供的信息不做任何更改。我理解使用新的灵感的想法和愿望,但是,你有一些适合你当前需要的东西。