创建一个多功能页面或单个页面以显示项目目录?

时间:2010-02-05 14:29:27

标签: .net asp.net

Stackoverflowers,

我在两个场景之间进行辩论,处理我正在执行的网站重新设计的产品目录的显示。我将使用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目前是我们处理在网站上显示产品组的方式,因此我们熟悉该方法,但代码确实有点毛茸茸。

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

3 个答案:

答案 0 :(得分:1)

使用通用页面。 (Scenario1)

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

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

答案 1 :(得分:1)

两种方案的组合。使用URL重写可以将URL映射到通用目录页面,就像在场景1中一样。这样做的原因是在搜索引擎结果中推广产品。由于查询字符串中的项目通常不会在搜索索引中考虑,因此您可以将常规目录页面编入索引,但不能将其编入索引。

答案 2 :(得分:0)

是的,第一个场景是最好的场景。有了它,{productgroup}可以作为产品组的参考,然后您就会更灵活。代码将只获取产品组ID,从数据库中获取该组的产品并显示或随意执行任何操作。

第二种方法过于手动:每次拥有新产品组时都必须配置新网址。

希望这有助于您做出决定并继续前进!