ASP.net 包含组的列表视图

本文关键字:列表 视图 包含组 net ASP | 更新日期: 2023-09-27 18:37:18

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

用户名1
图片1.jpg
图像名称

图像2.jpg
图像名称2

用户名2
图像3.jpg
图像名称3

用户名3
图像4.jpg
图像名称4

图片5.jpg
图像名称5

图片6.jpg
图像名称6

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

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

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

这些方法之一(中继器或列表视图)是否优先于另一种方法。还是有没有更好的方法来做到这一点,我没有想到? 我不认为我想做的事情是不寻常的,所以我认为会有更快的方法。 对我来说,在经典的asp中使用for循环来做到这一点似乎要容易得多。

提前感谢您的任何输入。

ASP.net 包含组的列表视图

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

在主中继器(或 ListView,如果需要)的 ItemTemplate 中使用中继器是最佳选择,也很常见,因此您不必担心混乱,其他开发人员将很容易看到您的意图。