문제

내부에 둘 이상의 제어 요소가있는 "복잡한"Usercontrols를 사용하고 싶습니다. 목록에서 재사용 할 수있는 동일한 제어이며 이미 자리 표시 자 제어가 있습니다.

컨트롤을 추가 할 수 있습니다 loadControl (.ASCX 로의 경로) - 문제 없어요.

내 사용자 정의 속성을 통해 임베디드 레이블에 액세스 할 수 있으므로 각 컨트롤을 완벽하게 초기화 할 수 있습니다.

그러나 LinkButtons를 추가 할 때 문제/문제가 발생합니다.

버튼을 클릭하면 컨트롤을 렌더링하는 페이지의 "제출"이 나타납니다. 그러나 컨트롤의 자체 버튼 이벤트는 발사되지 않는 것 같습니다 (또는 부모 페이지의 적어도 Pageload가 먼저 발사되는 것 같습니다.) - 내 이벤트가 어디로 가는지 또는 여기에 대한 이름/ID 또는 매개 변수를 찾을 수있는 곳을 알 수 없습니다. 단추.

어떻게 오거나 내가 여기서 무엇을 잘못하고 있습니까?

URL에 ID가있는 "하드 코딩 된 href"와 함께 라벨을 더 사용하여 "가짜 버튼"을 만들었지 만, 어떤 이벤트를 잡아야하는지, 버튼을 시작하는 방법 또는 방법을 배우고 싶습니다. 이러한 USERCONTROLS에 대한 "Default ASP.NET"컨트롤을 사용할 수 있기를 원하기 때문에 (너무 많은 패치 워크 코딩없이) ...

도움이 되었습니까?

해결책

이벤트가 "잃어버린"유일한 이유는 ASP.NET이 Postback 이후의 컨트롤과 이벤트를 연관시킬 수있는 방식으로 컨트롤이 재현되지 않기 때문입니다. ID 속성 사용을 통해 그렇게합니다.

다시 말해, 당신은 세 가지 중 하나를 잘못하고 있습니다.

1) Postback 이후 Init에서 생성 단계에서 링크 부트 톤의 ID를 다르게 할당하고 있습니다.

2) 코드를 사용하여 LinkButtons를 동적으로 생성하지만 페이지 수명주기의 초기 단계 후에는 컨트롤이 ViewState에 참여하지 않도록하고 있습니다.

3) 모든 사후 백에서 linkbuttons가 포함 된 상위 제어의 데이터 소스를 다시 바꾸고 있습니다. 사용 if (!IsPostBack) 매번 리딩되는 것을 방지합니다.

당신의 코드를 보지 않고 나는 불행히도 그것보다 더 구체적인 것을 줄 수 없습니다.

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