2012-08-03 59 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() 
}