Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQueryUI对话框显示在刷新浏览器上_Javascript_Jquery_Html_Asp.net_Jquery Ui Dialog - Fatal编程技术网

Javascript JQueryUI对话框显示在刷新浏览器上

Javascript JQueryUI对话框显示在刷新浏览器上,javascript,jquery,html,asp.net,jquery-ui-dialog,Javascript,Jquery,Html,Asp.net,Jquery Ui Dialog,我有一个用C#服务器端代码编写的ASP.NET应用程序。当我刷新浏览器时,JQueryUI对话框会出现,即使它不应该出现 ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true); function ShowPopup() { $("#dialog-modal").dialog({ hei

我有一个用C#服务器端代码编写的ASP.NET应用程序。当我刷新浏览器时,JQueryUI对话框会出现,即使它不应该出现

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
问题是我需要创建在服务器端代码中显示为对话框的DIV的内容

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
创建内容后,我使用下面的RegisterStartupScript方法和JavaScript函数将脚本发布到浏览器:

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
ClientScript.RegisterStartupScript(this.GetType(),“Popup”,“ShowPopup();”,true);
函数ShowPopup(){
$(“#对话框模式”).dialog({
身高:330,
宽度:700,
模态:true,可调整大小:false,
按钮:{
关闭:函数(){
$(this.dialog('close');
}
}                
});               
};

电子邮件主题
但是当我刷新对话框时,即使它不是应该的,也会显示出来 展示

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
我知道有一个自动打开属性可以 设置为false

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
我不能使用它,因为身体是在上创建的 服务器端和回发发生对话框在假定时不显示 设置为自动打开时显示:false

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              
问题:你可以吗 告诉我如何在浏览器关闭时使对话框从不显示 刷新

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup();", true);

  function ShowPopup() {
              $("#dialog-modal").dialog({                 
                  height: 330,
                  width: 700,
                  modal: true, resizable: false,                          
                  buttons: {
                      Close: function () {
                          $(this).dialog('close');
                      }
                  }                
              });               
          };

 <div id="dialog-modal" title='Message Preview' style="display: none;"> 
         <br />       
         <div style="width:100%">
            <div style="width:100px;padding-right:20px; float:left">Email Subject</div><div><asp:Literal ID="lblEmailSubject" runat="server"></asp:Literal></div>
         </div>
         <br />  
         <div style="width:100%">       
            <asp:Literal ID="lblEmailBody" runat="server"></asp:Literal>         
         </div>       
    </div>              

您是说您永远不希望在有人加载或刷新页面时出现对话框-只有在客户端执行某些操作时才会出现?永远不希望在刷新页面时出现对话框您可以发布调用RegisterStartupScript的位置和方式吗?你是用PageLoad做的吗?你说“它不应该显示”,但如果你不检查IsPostback(例如),它将始终显示;RegisterStartupScript每次都注册一个脚本,在页面加载时执行。我不是在页面加载时执行。我正在做它的按钮点击服务器端代码