【问题标题】:Create one multipurpose page or individual pages to display item catalog?创建一个多用途页面或单个页面来显示项目目录?
【发布时间】:2010-02-05 14:29:27
【问题描述】:

叠花,

我正在为我正在执行的网站重新设计处理产品目录显示的两种方案进行辩论。我将使用 IIRF isapi 过滤器为 asp.net 网站执行重写。

网址如下所示

www.domain.com/catalog/productgroup1
www.domain.com/catalog/productgroup2
www.domain.com/catalog/productgroup3
等等……

总共会有 8 或 9 个产品组页面

场景 1:我将这些页面重写为一个看起来像这样的通用页面:

www.domain.com/catalog.aspx?group={productgroup}

然后我根据查询字符串决定使用开关/案例显示哪个目录。用于显示目录的所有代码都基于一页。


场景 2: 我创建了一个单独的页面来处理每个不同的目录页面。重写看起来像这样:

www.domain.com/catalog/productgroup1 --> www.domain.com/productgroup1.aspx

然后每个目录页面都有自己的 .aspx 来处理该组项目的处理和显示。


我倾向于方案 2,因为它可以让我针对该特定产品组进行更多定制,但它会导致需要维护更多单独的页面以进行更新。场景 1 目前是我们处理在网站上显示产品组的方式,所以我们对这种方法很熟悉,但代码确实有些地方有点毛骨悚然。

处理这种情况的普遍接受的最佳做法是什么?根据您的经验,每种做法的优点/缺点是什么?

【问题讨论】:

    标签: .net asp.net


    【解决方案1】:

    使用通用页面。 (场景1)

    这绝对是一个更具扩展性的解决方案。

    您可以将自定义存储在数据库中,并使用它来驱动页面上的各种元素,以模拟 Scenario2。

    【讨论】:

    • 我刚刚想到的一件事是,由于不必在基于产品组的页面上隐藏/显示各种元素,单个页面的处理速度不会更快吗?对于单个页面,无需决定任何内容,我可以直接获取产品信息并将其显示在屏幕上。值得考虑还是不值得考虑?
    • 服务器端逻辑可能不会成为您的性能瓶颈(根据我的经验,它通常是客户端或数据库)。
    【解决方案2】:

    结合这两种情况。使用 URL 重写使 URL 映射到通用目录页面,如场景 1。这样做的原因是在搜索引擎结果中推广产品。由于查询字符串中的项目通常不包含在搜索索引中,因此您将索引一个通用目录页面,而不是产品本身。

    【讨论】:

    • 目前,我们确实将我们的个人页面和它们来自的目录页面编入索引(如果我自己不这么说的话,也很好)。我的目标是消除我们现在拥有的几乎所有查询字符串,让事情变得更干净,并为网站创建更好的 SEO。
    【解决方案3】:

    是的,第一种情况是最好的。这样,{productgroup} 就可以成为对产品组的引用,这样您就更加灵活了。代码将只获取产品组 id,从数据库中获取该组的产品并显示或对其进行任何操作。

    第二种方法太手动了:每次有新产品组都要配置一个新的url。

    希望这可以帮助您做出决定并继续前进!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多