2012-06-13 4 views
0

나는이 문제에 대해 좋은 답변을 찾을 수 없습니다. 나는 데이터베이스에서 데이터를 잡고 그것을 같은 표시하는 웹 페이지를 설정하기 위해 노력하고있어 :그룹이있는 ASP.net 목록보기

사용자 이름 1
에서는 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

ItemTemplate의 특정 번호 (GroupItemCount)가 인스턴스화되면 GroupTemplate이 인스턴스화됩니다. ItemTemplate은 컬렉션의 각 객체에 대해 호출되며 먼저 사용자 컬렉션을 갖습니다. ItemDataBound 이벤트 중에 GroupItemCount를 변경할 수 있다고해도 다음 사용자 그룹이 어떻게 생성되는지를 반영합니다. 지금까지는 이미지에 대한 것이 없으므로 ListView를 사용할 수 없다고 말할 수 있습니다.

메인 리피터 (또는 원하는 경우 ListView)의 ItemTemplate 내부에 리피터를 사용하는 것이 가장 일반적이기 때문에 혼란에 대해 걱정할 필요가 없으므로 다른 개발자가 쉽게 사용자의 의도를 볼 수 있습니다.

관련 문제