문제

ASP.NET 2.0 웹 양식에 리피터 컨트롤이 있습니다.

내가 이해할 때, 모든 페이지의 데이터 바운드 컨트롤은 Page_Load 그리고 Page_PreRender 이벤트.

그러나 내 리피터 ItemDataBound 이벤트가 발생한 것으로 보입니다 PreRender 이벤트.

이게 어떨까요? 결국 페이지 컨트롤에 액세스 할 수있는 방법이 있습니까? ItemDataBound 이벤트가 해고 되었습니까?

업데이트 :

  • 리피터는 an을 사용합니다 ObjectDataSource 이랑 DataSourceID 리피터 제어에서 선언적 세트.

  • 데이터 소스 ID 또는 객체는 페이지 수명주기 동안 전혀 수정되지 않습니다.

도움이 되었습니까?

해결책

선언 Databinding (DataSourceID 속성을 통해 지정된 데이터 소스)은 Prerender 이벤트보다 늦게 발생합니다. 당신이 관찰하는 행동은 디자인에 의한 것입니다. 이것이 필요한 것이 아닌 경우 컨트롤을 명시 적으로 데이터 밴드로 표시해야합니다. 데이터베드 메소드로 전화하십시오.

다른 팁

파일 뒤의 코드 (예 : page_load () 이벤트 내부)에서 리피터 (myRepeater.databind ();)를 구체적으로 바인딩하고 있습니까?

ASP.NET 이벤트 라이프 사이클을 확인 했습니까? 이미 이것을 알고 있다면 죄송하지만 만일을 대비하여 : http://msdn.microsoft.com/en-us/library/ms178472.aspx

도움이되기를 바랍니다.

리카르도.

다음 블로그 게시물에서 리피터 이벤트에 대한 좋은 게시물도 있습니다.

LinkButton, 내부 리피터 -ASP.NET 라벨

나는 비슷한 상황이 있었다고 생각하며, 내 선택은 ensurechildcontrols 또는 비슷한 방법을 호출하여 컨트롤이 스스로 묶는 것이 었습니다.

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