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. <% ... %>).
4

2 回答 2

1

我建议显示ModalPopupfrom codebehind if(!Page.IsPostBack)。因此,您可以使用 的Show方法ModalPopupExtender

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

要使其能够从服务器端打开,您需要将 的 设置TargetControlIDModalPopupExtender隐藏按钮:

<asp:Button ID="Hid_ShowDialog" Style="display: none" runat="server" />
于 2012-09-17T09:48:00.273 回答
0

我建议从 .net 代码执行此代码,然后您可以进行 isPostBack 检查,或者即使您在整个会话中只想要一次,然后一旦您从 .net 代码运行 JS,设置 Session("ShowPopup ") 为假,然后检查。

尽管对于这个问题,请尝试更改代码块以开始:

<%# instead of <%=
于 2012-09-17T09:39:53.643 回答