2011-10-04 12 views
2
<asp:ModalPopupExtender ID="MPE_EditGroup" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlpopup" CancelControlID="btnCancel" /> 
<asp:ToolkitScriptManager ID="ScriptManager1" runat="server" /> 
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <asp:Panel ID="pnlpopup" runat="server"> 
      <asp:ListBox ID="lst_allmembers" DataValueField="FirstName" runat="server" />      
      <asp:Button ID="btn_Add" runat="server" Text="Add" OnClick="btn_Add_Click" /><asp:ListBox ID="lst_grpmembers" runat="server" /> 
      <asp:Button ID="btn_remove" runat="server" Text="Remove" /> 
      <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" /> 
      <asp:Button ID="btnCancel" runat="server" Text="Cancel" /></asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 

추가 버튼은 이벤트가 트리거되지 않은 경우의 OnClick = "btn_Add_Click을"버튼이 asp.net에서, 트리거되지 않습니다

protected void btn_Add_Click(object sender, EventArgs e) 
    { 
     lst_grpmembers.Items.Add(lst_allmembers.SelectedItem.Text); 
      } 

가지고 있는데 클릭하면 추가 버튼 아무 반응이 없습니다 . 그리고 업데이트 버튼을 추가하기 전에 업데이트 버튼이 제대로 작동했습니다. 이제 취소 버튼 만 팝업을 닫습니다. 다른 버튼은 팝업 내에서 작동하지 않습니다. 이벤트를 트리거하는 방법.

+2

이 추가 :'ASP : 스크립트 관리자 ID = "ScriptManager1"RUNAT = "서버"EnablePartialRendering =' "거짓"우리가 오류 – JonH

+0

에 대한 자세한 정보를 얻을 방법은 또한 btn_Add_Click에서 브레이크 포인트를 설정하고 심지어 트리거되는지 확인하십시오. 내 생각에이 오류는 근본 원인을 찾기에 충분하지 않습니다. 자세한 내용을 보려면 EnablePartialRendering을 false로 설정하십시오. – JonH

+0

실행됩니다. 내가 Mark

답변

4

UpdatePanel의 ChildrenAsTriggers 속성을 true으로 변경하십시오. 이렇게하면 UpdatePanel의 자식 요소에 의해 트리거 된 모든 포스트 백이 해당 내용을 업데이트하게됩니다.

편집 : 그냥 당신이 명시 적으로 UpdatePanel Trigger로를 호출 할 필요가 있도록 btn_Add가 중첩 된 컨트롤입니다 것을 깨달았다. ContentTemplate 후 당신 된 UpdatePanel 마크 업에 다음을 추가 :

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="btn_Add" /> 
</Triggers> 

편집 # 2가 : 비동기 포스트 백이 발생할 때 닫는에서 모달 팝업을 유지하기 위해 ModalPopupExtender의 PopupControlID에 의해 지정된 패널 내부의 UpdatePanel 이동 :

를 스크립트 관리자에서
<asp:Panel ID="pnlpopup" runat="server"> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
     <ContentTemplate> 
      <asp:ListBox ID="lst_allmembers" DataValueField="FirstName" runat="server" /> 
      <asp:Button ID="btn_Add" runat="server" Text="Add" OnClick="btn_Add_Click" /> 
      <asp:ListBox ID="lst_grpmembers" runat="server" /> 
      <asp:Button ID="btn_remove" runat="server" Text="Remove" /> 
      <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" /> 
      <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</asp:Panel> 
+0

오류 : Sys.InvalidOperationException : 처리기가 Sys.UI.DomEvent.addHandler 메서드를 통해 추가되지 않았습니다. 클릭에 대해서도 을 추가해야합니까? – Mark

+0

흠, 문제는 UpdatePanel에서 ModalPopupExtender의 취소 버튼을 클릭 한 것으로 의심됩니다. ModalPopupExtender에서 'CancelControlID = "btnCancel"을 제거하고 오류가 지속되는지 확인할 수 있습니까? – RoccoC5

+0

작동하지만 추가 클릭하면 선택한 항목을 두 번째 목록 상자에 추가하고 팝업을 닫고 항목을 다시 열면 항목을 추가하고 클릭 할 때마다 팝업을 추가 할 때 값을 다시 열면 닫힙니다. – Mark

관련 문제