가능한 한 자세한 설명을하려고합니다. 우리는 작동중인 코드를 가지고 있으며, 변경되지 않고 현재는 그렇지 않습니다. 나는이 문제를 분리 했으므로 여기에 상황이있다 :ASP에서 이상한 새 오류 : Panel/UserControl/UpdatePanel 조합
우리는 ASPX 페이지를 가지고 있으며, 거기에 2 개의 ASP : 패널 컨트롤 (Panel1과 Panel2)이있다. 이러한 각 패널에는 단일 WebUserControl이 있습니다 (Panel1에는 UserControl1, Panel2에는 UserControl2가 있음). 이 페이지에는 AJAX 툴킷 Scriptmanager가 있습니다. 그게 전부입니다. 사용자가 처음으로 페이지를 방문하면 Panel1이 표시되고 Panel2는 숨겨집니다.
UserControl1에는 asp : Panel, asp : UpdatePanel이 포함 된 asp : Label이 있으며 그 안에 asp : Button이 있습니다. 코드 숨김에는 대리자와 이벤트를 발생시키는 이벤트가 있습니다. 이벤트를 발생시키는 버튼을 클릭하면됩니다. UserControl이 포함 된 ASPX 페이지에서이 이벤트에 대한 처리기가 있습니다. UpdatePanel, ASP : 패널 및 ASP : 라벨 영문 페이지 그래서
, 당신이 UserControl1에있는 버튼을 클릭하면 이벤트가 처리됩니다 Panel2에서
는 ASP있다. 이 이벤트 핸들러는 Panel1을 숨기고 Panel2를 표시합니다. 적어도 USED가 일어나는 것이지만, 지금은 일어나지 않습니다.
요약하면 - ASPX 페이지는 첫 번째 방문에서 Panel1과 UserControl1을 보여줍니다. UserControl1에는 버튼이 있습니다.이 버튼을 클릭하면 ASPX 페이지에서 이벤트가 발생하고, Panel1을 숨기고 Panel2를 표시합니다.
UserControl1 및 UserControl2에서 UpdatePanels를 제거하면 코드가 작동합니다.
분명히 우리의 '실제 생활'코드는 더 복잡합니다. 그러나이 작은 예제는 문제가 어디에 있는지를 보여줍니다.
감사합니다 찰스 - 나는 이것에 대한 질문이 있습니다. UpdatePanel이 이벤트를 트리거로 처리하지 않으면 디버그에서 코드 샘플을 단계별로 실행할 때 왜 DetailsChanged 이벤트가 발생하고 Default.aspx.cs 내에서 코드가 testUserControl1_DetailsChanged 이벤트 처리기 메서드를 통해 실행됩니까? –