0

我似乎无法为此找到一个好的答案。我正在尝试设置一个网页以从数据库中获取数据并将其显示为:

用户名
1 image1.jpg
图像名

image2.jpg 图像名称
2

用户名
2 image3.jpg
imagename3

用户名
3 image4.jpg
imagename4

image5.jpg 图像名称
5

image6.jpg
imagename6

有一个用户名,使用该用户名有一个或多个图像和图像名称。并非所有用户名都有相同数量的图像。

我的问题是,最好的方法是什么?我可以使用带有嵌套中继器的中继器控件来完成此操作。它很乱但有效。

根据我的阅读,ListView 应该能够做同样的事情,但更干净。我对 ListView 的问题是我必须设置 GroupItemCount,它不像我需要的那样动态。我想我可以嵌套另一个 ListView,但事实证明它的代码与使用中继器一样多。

这些方法中的一种(中继器或列表视图)是否优于另一种。或者有没有更好的方法来做到这一点,我没有想到?我不认为我正在尝试做的事情与众不同,所以我认为会有更快的方法。对我来说,使用 for 循环在经典 asp 中执行此操作似乎要容易得多。

提前感谢您的任何意见。

4

1 回答 1

0

当实例化一定数量 (GroupItemCount) 的 ItemTemplate 时,实例化 GroupTemplate。为集合中的每个对象调用 ItemTemplate,您首先拥有一个用户集合。即使您可以在 ItemDataBound 事件期间更改 GroupItemCount,这也将反映下一组用户的创建方式。直到现在还没有关于图像的内容,所以我可以说你不能使用 ListView 来完成这样的任务。

在主Repeater的ItemTemplate中使用repeater(如果需要,也可以使用ListView)是最好的选择,也很常见,所以你不必担心乱七八糟,其他开发人员会很容易看到你的意图。

于 2012-06-13T19:20:40.670 回答