设置一个按钮以触发modalPopupExtender和他的Click方法

时间:2010-06-10 15:11:22

标签: c# asp.net ajaxcontroltoolkit

我有这个modalPopupExtender,我希望它用一些数据显示 CheckBoxList 。我已经设置了一个按钮来调用填充CheckBoxes的方法并触发modalPopup(TargetControlID)。它们都在UpdatePanel中。有正确的触发器。 问题是当我单击按钮时它显示modalPopup但是没有加载方法来填充我的CheckBoxes ...

另外,poup(linkBut​​tonCheckAll)中的linkBut​​ton只是在点击时关闭弹出窗口。

当我删除modalPopup时,代码工作得很好,列表会以UpdatePanel的形式加载。

<asp:UpdatePanel ID="uppLote" runat="server">
        <ContentTemplate>
            <ajaxToolkit:ModalPopupExtender ID="modalLote" runat="server" BehaviorID="popup"
                TargetControlID="buttonViewLote" PopupControlID="panelLote" />
            <asp:Panel ID="panelLote" runat="server" CssClass="modalpopup">
                     <asp:LinkButton ID="linkButtonCheckAll" runat="server"

                            Text="Check All Items" onclick="linkButtonCheckAll_Click"></asp:LinkButton>
                     <asp:CheckBoxList ID="checkListLote" runat="server">
                     </asp:CheckBoxList>
            </asp:Panel>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="linkButtonViewLote" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="linkButtonCheckAll" EventName="Click" />
        </Triggers>
</asp:UpdatePanel>

如果我完全删除modalPopupExtender,代码工作正常,用“linkBut​​onViewLote_Click”方法显示我想要的列表(因此,由于触发modalPopupExtender的按钮与我正在使用的相同而出现问题得到我的数据吧?有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试将TargetControlID设置为页面上的虚拟控件,并使用buttonViewLote单击事件调用modalLote.Show()。