2012-09-17 87 views
1

我用下面的代碼來首次頁面加載顯示模式彈出,如何顯示在第一次頁面加載模型只彈出

<script type="text/javascript"> 
function pageload() { 
    var chkPostBack = '<%= Page.IsPostBack ? "true" : "false" %>'; 

    if (chkPostBack == 'false') { 

     var popup = $find('ModalPopupExtender1'); 
     if (popup != null) { 
      popup.show(); 
     } 

    } 

}  

我有以下錯誤,請幫助我。

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>). 

回答

0

我建議從.NET代碼執行這個代碼,那麼你可以做的IsPostBack檢查,或者即使你只是想一次整個會話,然後,一旦你從.NET運行JS代碼,將Session(「ShowPopup」)設置爲false,然後檢查它。

雖然對於這個問題請嘗試更改代碼塊入手:

<%# instead of <%= 
+0

感謝烏拉圭回合的答覆,我用#代替=的。現在它的工作,但彈出窗口顯示每一個回發。我只想第一次顯示它 –

+0

上面的回覆是我的說法,但它有更詳細的內容,請查看。 –

1

我會建議從顯示代碼隱藏if(!Page.IsPostBack)ModalPopup。因此,您可以使用ModalPopupExtenderShow方法。

if(!Page.IsPostBack) 
{ 
    ModalPopupExtender1.Show(); 
} 

,使其能夠從服務器端被打開,則需要將ModalPopupExtenderTargetControlID設置爲隱藏式按鍵:

<asp:Button ID="Hid_ShowDialog" Style="display: none" runat="server" /> 
相關問題