문제

사용자가 목록에서 항목을 선택할 때 새 행의 테이블 셀에 imageButton을 작성합니다.

ImageButton imgbtnRemove = new ImageButton();
imgbtnRemove.ID = "uxStandardLetterDeleteImage_" + items.letterName;
imgbtnRemove.CommandName = "uxStandardLetterDeleteImage_" + items.letterName;
imgbtnRemove.ImageUrl = items.remove;
imgStatus.AlternateText = "Remove";
tRow.Cells[3].Controls.Add(imgbtnRemove);

새로운 ImageButton을 클릭하면 손잡이를 얻을 수없는 것 같습니다. Page_Prerender 이벤트에서 각 Postback의 테이블도 다시로드합니다.

string returnData = Request.Form.ToString();

그러나 양식을 통한 반복 이미지는 이미지를 제어합니다.

if (c is System.Web.UI.WebControls.Button ||
c is System.Web.UI.WebControls.ImageButton)

그것을 찾지 못합니다. 수동으로 a를 넣으면 찾을 수 있습니다.

imgbtnRemove.Click += new System.Web.UI.ImageClickEventHandler(this.ButtonClick);

page_load에서 클릭 이벤트에서 가져옵니다.

switch (((System.Web.UI.WebControls.ImageButton)sender).CommandName)
...

그러나 새로운 행이 추가되고 삭제되기 때문에 프로그래밍 방식으로 추악하게됩니다. 동적 ImageButton 생성에 대한 우아한 솔루션이 있어야하고 서버 측 코드에서 즉시 검색해야한다고 생각합니다. 나는 많은 파기를했지만 이것은 나를 그루어지고있다.

미리 감사드립니다 ...

도움이 되었습니까?

해결책

페이지 라이프 사이클의 이벤트 처리 단계에서 동적 컨트롤을 작성하는 경우 (예 : 선택한 이벤트에서) 다음 포스트 백에서 컨트롤이 진행됩니다.

동적 컨트롤이 ViewState에 등록하려면 이벤트 라이프 사이클의 초기 단계에서 생성해야합니다.

또한, 당신은 폼의 컨트롤을 반복하고 있다고 말합니다 ... imageButton을 테이블의 셀에 추가 할 때. inmainsbutton을 찾기 위해 제어 상속장을 재귀 적으로 내려 가고 있습니까?

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