我似乎无法找到一个好的答案。我正在尝试设置一个网页来从数据库中获取数据并显示如下内容:
USERNAME1
image1.jpg
imagename
image2.jpg
imagename2
USERNAME2
image3.jpg
imagename3
USERNAME3
image4.jpg
imagename4
image5.jpg
imagename5
image6.jpg
imagename6
有一个用户名,使用该用户名有一个或多个图像和图像名称。并非所有用户名都具有相同数量的图像。
我的问题是,最好的方法是什么?我可以使用带嵌套转发器的转发器控件来实现这一点。它很乱,但很有效。
从我读过的内容来看,ListView应该可以做同样的事情,但更清洁。我对ListView的问题是我必须设置GroupItemCount,它不像我需要的那样动态。我想我可以嵌套另一个ListView,但事实证明它与使用转发器的代码一样多。
这些方法中的一种(转发器或列表视图)是否优先于另一种。或者有没有更好的方法来做到这一点,我没想到?我不认为我想做的事情是不同寻常的,所以我认为会有更快的方式。对我来说,在使用for循环的经典asp中执行此操作似乎要容易得多。
提前感谢任何输入。
答案 0 :(得分:0)
当实例化ItemTemplate的特定数量(GroupItemCount)时,将实例化GroupTemplate。为集合中的每个对象调用ItemTemplate,您首先拥有一组用户。即使您可以在ItemDataBound事件期间更改GroupItemCount,这也将反映如何创建下一组用户。到目前为止,没有关于图像的内容,所以我可以说你不能使用ListView来完成这样的任务。
在主Repeater(或ListView,如果你想)的ItemTemplate中使用转发器是最好的选择,也很常见,所以你不必担心这个混乱,另一个开发人员很容易看到你的意图。