2012-12-19 1 views
0

일부 WebUserControls를 추가 할 자리 표시자가 있습니다. WebUserControl에는 onClick이있는 단추 만 있습니다.동적으로 추가 된 컨트롤의 이벤트 등록이 포스트 백에 추가되었습니다.

<asp:Button ID="bMyButton" runat="server" OnClick="MyButtonOnClick" CausesValidation="false" /> 

WebUserControls를 Page_Load의 페이지에 추가하면 정상적으로 작동합니다. 문제는 일부 필터가 ApplyFilters()을 호출하는 포스트 백을 수행한다는 것입니다. 선택한 필터 (필터 값이 Page_Load 이벤트에서 아직 업데이트되지 않음)를 기반으로이 메소드의 항목을 다시로드해야하지만 페이지에 추가 되었기 때문에 MyButtonOnClick 이벤트가 발생하지 않습니다. 라이프 사이클 후반.

누구든지 해결 방법에 대해 알고 있습니까?

p.s 디버깅하는 동안 일어나는 일을 설명하기 위해 예제를 단순화했기 때문에 많은 코드를 붙여 넣지 않았습니다. 더 많은 정보가 필요하면 알려주세요.

답변

0

이 문제를 "해결"할 수있었습니다. ASP.NET 이벤트에 의존하는 대신 내 필터 값을 Request.Form[]에서 확인하고 있습니다. 그렇게하면 컨트롤 유효성 검사주기 전에 필터의 새 값을 볼 수 있고 Page_Load에 동적 컨트롤을로드 할 수 있습니다.

전통적인 사건에 충실하는 것이 바람직하지만 지금은이 문제를 둘러싼 다른 방법이 없다고 생각합니다.