2011-10-04 88 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:的ScriptManager ID =「ScriptManager1」 RUNAT =「服務器」的EnablePartialRendering =「假」'這樣,我們獲得有關錯誤 – JonH

+0

更多信息此外,在btn_Add_Click設置一個斷點和看看它是否被觸發。我的想法是這個錯誤不夠具體,找不到根本原因。將EnablePartialRendering設置爲false以獲取更多詳細信息。 – JonH

+0

它被執行。在我添加 Mark

回答

4

將UpdatePanel的ChildrenAsTriggers屬性更改爲true。這將導致由UpdatePanel的子元素觸發的任何回發更新其內容。

編輯:剛剛意識到btn_Add是一個嵌套的控制,所以你必須顯式調用它作爲一個UpdatePanel Trigger。以下內容添加到您的UpdatePanel標記的的ContentTemplate後:

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

編輯#2:要關閉讓你的模式彈出時的異步回發時,將UpdatePanel通過ModalPopupExtender的PopupControlID指定的面板內:

<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