문제

리피터에서 현실적으로 OnitemDatabound를 사용 하시겠습니까?

도움이 되었습니까?

해결책

"이 이벤트는 클라이언트에 표시되기 전에 데이터 항목에 액세스 할 수있는 마지막 기회를 제공합니다.이 이벤트가 제기되면 데이터 항목이 무효화되어 더 이상 사용할 수 없습니다."

~http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.onitemdatabound.aspx

다른 팁

한 번의 용도는 리피터에 묶일 당시 바운드 데이터 항목에서만 사용할 수있는 정보를 기반으로 동적 제어 생성 일 수 있습니다.

리피터의 각 항목에 대해 데이터를 약간 마사지해야 할 때 사용했습니다.

원래 리피터에 바인딩 된 결과 세트의 일부가 아닌 동적 컨트롤 또는 데이터로 템플릿 내 개별 항목을 사용자 정의하려면 필요합니다.

이렇게 생각하십시오. 품목이 생성되면 모든 ondatabinding 이벤트가 해당 특정 항목에 대해 발사됩니다. 많은 ondatabinding 이벤트를 호출 할 수있는 하나의 아이템을 구축하는 많은 것들이있을 수 있습니다. 일단 완료되면, 이것은 트리거 된 이벤트이므로 최종 '터치'를 적용 할 수 있으며 현재 모든 ondatabinding 이벤트가 수행됩니다.

예를 들어. 항목은 10 개의 데이터 필드를 채우고 바인딩시 모든 종류의 작업을 수행합니다. 모든 데이터가 채워지면 이제 생성 된 해당 데이터의 특정 부분을 확인하고 전체 행 색상 또는 전체 항목의 데이터를 기반으로 일부 아이콘과 같은 전체 항목으로 무언가를 설정하려고합니다.

중첩 된 리피터를 구현하는 데 사용했습니다. OUTER Repeater의 ItemDatabound 이벤트 핸들러에서 현재 항목의 내부 리피터 인스턴스를 데이터 밴드하기 위해 코드를 실행합니다.

데이터 바인딩 구문을 읽고 디버그하기가 어렵다는 것을 알게되었습니다. 나는 데이터 바인딩 표현식을 마크 업에 넣어서 할 수 없었던 OnitemDatabound로 아무것도하지 않았다고 생각하지만 나중에 변경하려면 개인적으로 설정하는 것이 훨씬 쉽다는 것을 알게됩니다. OnitemDatabound의 중단 점은 바로 창문을 사용하여 내가 렌더링하고 싶은 것을 못 박았습니다. 나는 또한 코드와 마크 업이 분리되어야한다는 명백한 페이딩 (예 : 루비)의 독재를지지합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top