【问题标题】:Is it possible to infer a sitemap from ASP.NET Routing?是否可以从 ASP.NET 路由推断站点地图?
【发布时间】:2011-10-06 16:54:50
【问题描述】:

一段时间以来,我一直受益于站点地图的优势:

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

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

完美,但我知道时代在变,我们现在有了路由表。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    “这非常有效,但我知道时代在变,我们现在 有路由表。”

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

    【讨论】:

    • 我自己也是这么想的。但是,我一直认为这样的功能是有充分理由开发的,据我所知,它现在是路由 URL 的标准方式。如果微软一直在投资开发它,而其他人都在做,那我不​​是错过了什么吗?
    • 不,不是真的,我在“MasterPages”存在之前就使用过它们,但是在发布时我没有重新编写我的应用程序。新应用程序是的。在 Microsoft 解决问题之前就存在问题,而且他们的解决方案并不总是最适合您的应用程序。您的架构基于您的需求,可能与另一种新技术/方法不一致,因此无需强制它接受新的约束。
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 2022-11-21
    • 2011-02-03
    相关资源
    最近更新 更多