【问题标题】:Help with concept - filters and number of items帮助概念 - 过滤器和项目数量
【发布时间】:2010-06-14 10:20:36
【问题描述】:

请检查http://www.alibaba.com/catalogs/cid/702/Laptops.html,他们在这里有很好的过滤器,每个都有项目数。请注意一个细节 - 他们在这里有位置。 olx.com 上的相同 - 每个类别的位置和项目数量。

现在想象我有桌子: [产品](Id、名称、CategoryId、LocationId) [类别](ID、名称) [位置](ID、名称)

我的问题是我怎么能做同样的事情,因为即使缓存看起来很昂贵,也要计数?而且他们给出的结果非常快......

请提供在 ASP.NET、C#、MVC、MS SQL 中执行此操作的可能方法,但请给出简单的答案,例如“计数和更改” 先感谢您。

【问题讨论】:

  • 证明:我的问题在数据库级别 - 如何组织所有这些计数器并且不杀死计数的网站。

标签: c# asp.net sql-server asp.net-mvc


【解决方案1】:

我会使用 ASP.NET MVC 用于服务器端和 Jquery 用于客户端,以满足您的要求。

这种组合让您可以完全控制 UI,并使用 Javascript 操作它们。

一些由 ASP.NET 呈现的复杂控件具有动态生成的“id”值,这可能是一个问题。

至于你的要求http://www.alibaba.com/catalogs/cid/702/Laptops.html

您可以利用大量的 Jquery 插件来呈现视觉效果。

请查看下面的链接(表格排序插件),我发现该链接对向表格添加显示效果特别有用。

Table Sorter

希望这会有所帮助。

谢谢, 维杰

【讨论】:

  • Vijay,感谢您的回答,特别感谢您提供的网址。好的,有了 JQuery,我就可以做客户端了,没关系,我看不到替代方案....但是如何处理数据。请查看我对 Mohang 的评论,这里有问题。
  • @dreamer,TableSorter 插件的美妙之处在于,每次进行过滤器选择时它都不会访问服务器。显示过滤的候选人发生在客户端,这不会影响性能!谢谢。
【解决方案2】:

他们在第一级展示了可能的过滤器。当您选择过滤器时,他们会使用该过滤器运行搜索并获取缩小的过滤器。关键是每次都运行过滤器。这是相当可以实现的。我已经在 asp.net MVC 中完成了这项工作。在你的情况下,它会更容易,因为你没有很多过滤器。

决定一级过滤器。 对于每个级别 1 过滤器,确定哪些是级别 2 过滤器。 确定每种过滤器类型的有意义的深度级别。

随着用户不断添加过滤器,运行用户选择或取消选择的过滤器。 应用过滤器后,您将获得项目。根据过滤器的级别显示它们。

【讨论】:

  • 墨航,谢谢你的回答。对我来说不清楚的是:我有 NN 个位置.. 和 NN 个类别.. 它们都是“1 级”过滤器.. 很好.. 问题是他们如何计算每个位置和类别中的项目数量。如何?如果您尝试在 1500 万条记录数据库中运行 COUNT 或 GROUP BY,您将理解我的“混淆点”:) 我认为它需要超过 2 秒.. 但是要提供如此数量的统计信息,您至少需要运行 5 或每个位置在 1 级有 10 个柜台。
  • @dreamer,我认为您需要运行单独的查询来获取每个过滤器项目的项目计数。有人告诉我,Newegg.com 有一家公司向他们提供这些数据,我想该服务每晚/每周都会花时间计算每个可能的过滤器组合的项目数,并将其缓存以供 Newegg 使用飞。我自己尝试过,并且很难做到。我也试过在这里问,没有得到好的答案。
猜你喜欢
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多