2012-08-03 72 views
0

我在我的页面中使用模型弹出式扩展器。我制定了一些规则。如果该规则为真,则显示模型弹出扩展程序,否则将其隐藏。我使用下面的代码来显示模型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"> 
      ....... 

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

+0

规则是否可以在客户端进行评估? – 2012-08-03 09:04:29

回答

2

由于您的ModalPopupExtender的目标ID是你LinkButton Id,无论规则的,它总是会显示该规则被选中,甚至之前。 解决方法是添加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() 
}