UpdatePanel内部更新时,ModalPopupExtender关闭

时间:2013-02-26 07:49:47

标签: c# updatepanel modalpopupextender

我有一个带有UpdatePanel的ModalPopupExtender。 UpdatePanel有一个带有LinkBut​​tons列表的Repeater。

<asp:Button ID="btnShow" runat="server" />
<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="btnShow" PopupControlID="pnl" CancelControlID="btnCancel" />
<asp:Panel ID="pnl" runat="server">
    <asp:UpdatePanel ID="up" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Repeater ID="rep" runat="server" onitemcommand="rep_ItemCommand">
                <HeaderTemplate>
                    <ul>
                </HeaderTemplate>
                <ItemTemplate>
                    <li>
                        <asp:Label ID="lblAssignedTo" runat="server" Text='<%# Eval("AssignedTo") %>' />
                        <asp:LinkButton ID="lnkUnassign" runat="server" CommandName="Unassign" CommandArgument='<%# Eval("Id") %>' />
                        <ajaxToolkit:ConfirmButtonExtender ID="cbeUnassign" runat="server" TargetControlID="lnkUnassign" ConfirmText="Are you sure you want to unassign this item?" />
                    </li>
                </ItemTemplate>
                <FooterTemplate>
                    </ul>
                </FooterTemplate>
            </asp:Repeater>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Panel>

protected void rep_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "Unassign")
    {
        //do something
        up.Update();
    }
}

当我点击LinkBut​​ton时,UpdatePanel应该更新。它这样做但它也关闭了ModalPopupExtender。

有没有办法更新UpdatePanel而不隐藏ModalPopupExtender?我可以调用ModalPopupExtender.Show(),但页面会闪烁。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,发现在Repeater中的LinkBut​​tons有问题。改为使用Button控件。