사용자 지정 사용자 정의 컨트롤을로드하는 Sharepoint WebPart가 있습니다. 사용자 정의 컨트롤에는 여러 개의 LinkButton이 차례로 들어있는 Repeater가 있습니다. 내가 이벤트 핸들러를 추가하는 몇 가지 코드를 가지고 한는 WebPart에서 RenderContent 통화에서 ASP.NET - RenderContent 호출에서 Repeater 내부의 LinkButton에 이벤트 처리기 추가
는 : ArrayList nextPages = new ArrayList();
//populate nextPages ....
AfterPageRepeater.DataSource = nextPages;
AfterPageRepeater.DataBind();
foreach (Control oRepeaterControl in AfterPageRepeater.Controls)
{
if (oRepeaterControl is RepeaterItem)
{
if (oRepeaterControl.HasControls())
{
foreach (Control oControl in oRepeaterControl.Controls)
{
if (oControl is LinkButton)
{
((LinkButton)oControl).Click += new EventHandler(PageNavigateButton_Click);
}
}
}
}
}
함수 PageNavigateButton_Click는 그러나 호출되지 않습니다. 그러나 디버거에서 이벤트 처리기로 추가되는 것을 볼 수 있습니다.
아이디어가 있으십니까? 나는 이것을 어떻게하는지 잘 모르고있다.
나는 사람들의 제안을 읽은 후 코드를 조금 뒤죽박죽로 읽었다. 지금 CreateChildControls() 함수에서 이벤트 처리기를 추가하려고하지만 여전히 해고되지 않습니다. 지금까지 도움을 주셔서 감사합니다, 그것은 바르게 평가된다 –
게임에서 이것을 늦게 보는 것을 위해. CreateChildControls를 사용하지 마십시오 ... 너무 늦었습니다. 대신 모든 동적 컨트롤을 작성하려면 OnInit 핸들러를 재정의하십시오. – NotMe