从数据库中呈现项目列表的最佳方法是什么?

时间:2009-09-01 20:31:38

标签: asp.net html database

从数据库中在网页上呈现许多项目列表(如文章或博客后面的评论)的最佳方法是什么?

我在很多网站上都注意到3个选项:

  1. <ul>的列表(在ul下的ul下的ul ...)
  2. <divs>的列表(div下的div ...)
  3. 我应该使用什么asp.net控件?
    Datalist,转发器?

5 个答案:

答案 0 :(得分:4)

<ul>是最好的,因为它代表一个列表(因此在语义上是正确的 - 更适合搜索引擎优化,可访问性等)。

在您的Asp.Net控件选项中,Repeater是迄今为止最好的选项,因为它可以让您完全控制您呈现的HTML - 其他选项往往会产生无关的标记,在某些情况下会生成内联样式。 / p>

答案 1 :(得分:1)

我更喜欢在这种情况下使用Repeater,因为它非常灵活。我从1.1开始就使用了你所列出的所有组合,到目前为止没有任何问题!

我认为评论列表的语义正确的标记标记选择是<ol>(有序列表),假设您的评论将按升序日期顺序列出。

答案 2 :(得分:1)

我会使用<ul>标记,因为它适用于列表。它更适合搜索引擎优化目的,你可以创建一个hierchy,如嵌套类别。

我不会使用转发器或数据列表。我建议使用MVC for loop 。它比转发器,网格和数据主义者快得多。

答案 3 :(得分:0)

这取决于数据的结构。

GridView - 适用于表格数据;很少或根本不需要图像。

ListView - 非常适合产品目录类型数据。非常适合图像和链接。查看great Listview tutorial by Scott Guthrie

答案 4 :(得分:0)

简短的回答是,“这取决于”。基本上你应该考虑你的其他网站内容是如何呈现的并坚持下去(除非它很糟糕)。但是,<ul>元素可能是用于项列表的最正确元素。

对于asp.net控件,我建议您查看Repeater(正如其他人建议的那样),或者如果您想要一个功能更丰富的控件,那么仍然可以完全控制标记,{ {3}}控制。