从数据库中在网页上呈现许多项目列表(如文章或博客后面的评论)的最佳方法是什么?
我在很多网站上都注意到3个选项:
<ul>
的列表(在ul下的ul下的ul ...)<divs>
的列表(div下的div ...)我应该使用什么asp.net控件?
Datalist,转发器?
答案 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}}控制。