【问题标题】:ASP.net ListView with groups带有组的 ASP.net ListView
【发布时间】:2012-06-13 19:01:15
【问题描述】:

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

用户名1
image1.jpg
图片名称

image2.jpg
图像名称2

用户名2
image3.jpg
图片名称3

用户名3
image4.jpg
图片名称4

image5.jpg
图片名称5

image6.jpg
图片名称6

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

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

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

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

提前感谢您的任何意见。

【问题讨论】:

    标签: c# asp.net listview


    【解决方案1】:

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

    在主Repeater的ItemTemplate(或ListView,如果你愿意)中使用repeater是最好的选择,也很常见,所以你不用担心乱七八糟,其他开发者很容易看出你的意图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2010-11-03
      • 2017-07-24
      • 2014-11-29
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多