模态弹出扩展器问题

时间:2012-08-03 04:04:40

标签: c# asp.net ajax

我在我的页面中使用了一个模型弹出扩展器。我创造了一些规则。如果该规则为true,那么show model popup extender否则隐藏它。我使用下面的代码来显示模型popub扩展器。

        <asp:ModalPopupExtender runat="server" ID="modelPopupExtender1" TargetControlID="Lnk_1"
            PopupControlID="pan_addEdit" BackgroundCssClass="modalBackground">
        </asp:ModalPopupExtender>
        <asp:Panel ID="pan_addEdit" runat="server" CssClass="pnl">
            <asp:LinkButton ID="Lnk_1" runat="server" OnClick="btn_generate_Click" Visible="true"></asp:LinkButton>
            <table border="0" width="800px" height="350px">
            .......

我的问题是当规则条件为假时,它只会显示并在几分之一秒内消失。我怎样才能减少它。

1 个答案:

答案 0 :(得分:2)

由于您的ModalPopupExtender的 TargetID 是您的LinkButton Id,无论RULE如何,它都会在检查RULE之前显示。 解决方案是添加HiddenField并将其ID作为 TargetID 传递给ModalPopupExtender。这样,您可以在点击LinkBUtton时查看规则并使用 ModalPopupExtender.Show() 来显示弹出窗口。

<asp:HiddenField ID="hdnpop" runat="server" />

<asp:ModalPopupExtender runat="server" ID="modelPopupExtender1" TargetControlID="hdnpop"
            PopupControlID="pan_addEdit" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>

在LinkBut​​ton事件中,

if(RULE)
{//Do something
    modelPopupExtender1.Show()
}
else
{
   //Do something else an dont Show()
}