2009-05-21 2 views
0

하나 이상의 컨트롤 요소가있는 "복잡한"usercontrol을 사용하고 싶습니다. 그것은리스트에서 재사용 할 것과 같은 컨트롤이고, 이미 PlaceHolder 컨트롤을 가지고 있습니다.단추가있는 UserControls 목록을 PlaceHolder에 추가 - 이벤트 없음?

컨트롤을 LoadControl (경로 .ascx)과 함께 추가 할 수 있습니다. 아무런 문제가 없습니다.

내 맞춤 속성을 통해 임베디드 라벨에 액세스하거나 가져올 수 있으므로 각 컨트롤을 완벽하게 초기화 할 수 있습니다.

하지만 LinkButton을 추가 할 때 문제가 발생합니다.

버튼을 클릭하면 컨트롤 렌더링 페이지가 "제출"됩니다. 하지만 컨트롤의 자체 버튼 이벤트가 발생하지 않는 것 같습니다 (또는 부모 페이지의 적어도 PageLoad가 먼저 실행되는 것 같습니다.) - 내 이벤트가 어디로 가는지, 또는이 이벤트의 이름/ID 또는 매개 변수를 찾는 위치를 파악할 수 없습니다. 단추.

내가 어떻게 잘못 되었습니까?

URL에 ID가있는 "하드 코드 된 HREF"라는 레이블을 더 사용하여 "가짜 버튼"을 만들었지 만 어떤 이벤트를 잡아야하는지, 어디에서 어떻게해야하는지 배우고 싶습니다. 버튼을 초기화하십시오. 왜냐하면 나는이 usercontrols에 대한 "기본 ASP.NET"컨트롤을 (너무 많은 패치 워크 코딩없이) 사용할 수 있기를 원합니다 ...

+0

LinkButton을 생성하고 해당 이벤트를 바인딩하는 코드 숨김을 게시하십시오. – ichiban

+0

시간 내 주셔서 감사합니다. 샘플 사이트에서 문제를 재연 해 보려고했는데 예상대로 작동합니까? !! ?? 나는 그것이 같은 페이지에서 실행되는 다소 복잡한 AJAX 기능과 관련이 있다고 생각합니다. 왜냐하면이 모든 코드가 완벽하게 작동하기 때문입니다. 어떻게 진행합니까? 이 질문을 삭제합니까, 아니면 닫을 수 있습니까? – BerggreenDK

+0

여전히 문제가 발생하는 경우 질문에 대한 단어를 다시 적거나 다시 태그를 지정하고 소스를 포함 시키십시오. –

답변

1

이벤트가 "손실"되는 유일한 이유는 컨트롤은 ASP.Net이 포스트 백 이후 컨트롤과 이벤트를 연결할 수있는 방식으로 다시 만들어지지 않습니다. 그것은 ID 속성의 사용을 통해 그렇게합니다. 당신은) 다시 게시

이 후 초기화의 생성 단계에서

1) 당신은 다르게 linkbuttons의 ID의 할당하고 있습니다 :

, 당신은 잘못된 세 가지 중 하나를 수행하고 코드를 사용하여 linkbutton을 동적으로 만들지 만 컨트롤이 ViewState에 참여하지 않도록 페이지 수명주기의 Init 단계 이후에이를 수행하고 있습니다.

3) 모든 포스트 백에서 링크 버튼이 포함 된 상위 컨트롤의 데이터 소스를 다시 바인딩합니다. 매번 다시 바인딩하지 않으려면 if (!IsPostBack)을 사용하십시오.

코드를 보지 않고서는 불행히도 그 이상의 구체적인 정보를 제공 할 수 없습니다.

+0

컨트롤은 처음 PageLoad에서 완벽하게 (시각적으로) 빌드됩니다. 내가 뭘했는지. 그러나 usercontrol에는 단추가 있으며 클릭 할 때 잡아야하는 이벤트입니다. ... 그러나 위의 나의 의견은 그것을 모두 말한다. 시간 내 주셔서 감사 드리며 미안합니다. – BerggreenDK

+0

오랜 시간 지연되어 죄송 합니다만 프로젝트가 취소되었습니다. 나는 조사했다. 그것은 "트릭"을 한 Masterpages와 결합 된 AJAX.NET이었던 것 같습니다. – BerggreenDK

관련 문제