创建所需的URL - 我应该循环吗?

时间:2009-08-27 08:30:08

标签: asp.net seo navigation

我正在考虑为工作实践和我的一个小项目编写一个电子商务平台。我正处于我想要开始编写URL和SEO frnly URL的阶段。

我的问题是我写的系统有无限的类别/子类别,导致我的导航问题。

我理想的网址是:

http://mydomain.com/products/first-category/second-category/productname.aspx

并且为了实现这一点,我正在考虑循环回到parentid =的数据库。但我觉得这不是最佳做法,每个类别和子类别和每个页面的产品都做错了。

任何人都可以帮助如何实现这一目标吗?

我知道如何使用www.urlrewriting.net并在asp.net 3.5中编写网站,但它的技术答案是循环获取名称等我需要帮助。

如果您需要更多信息,我很乐意回答任何问题,希望有人能帮助我实现这一目标。

由于

1 个答案:

答案 0 :(得分:0)

如果您担心返回数据库,只需将整个类别表缓存到内存中。

struct Category
{
  UInt32 CategoryId {get;set;}
  UInt32 ParentId {get;set;}
  string Name {get; set;}
  string Url {get; set;}
}

SELECT CategoryId, ParentId, Name, Url FROM Categories Order By CategoryId;

MyCategories = new Dictionary<UInt32, Category>();

while (rdr.Read)
{
  MyCategories.Add((UInt32)rdr["category_id"], new Category(........));
}

现在获取完整路径只是在内存中循环

string path = "";
currentCategory = MyCategories[category_id];

while (currentCategory != nil)
{
  // StringBuilder here 
  path += "/" + currentCategory.Name;
  currentCategory = MyCategories[Category.ParentId];
}