Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
在asp.net回发上隐藏jquery对话框_Jquery_Modal Dialog - Fatal编程技术网

在asp.net回发上隐藏jquery对话框

在asp.net回发上隐藏jquery对话框,jquery,modal-dialog,Jquery,Modal Dialog,我觉得这是一个愚蠢的问题,但我发现很难得到答案 我只想在页面第一次呈现时显示jquery对话框。页面呈现后,会有多个操作导致页面回发,但用户不会离开该页面 如何禁止jquery对话框在这些回发事件上显示 提前谢谢 您可以在服务器上存储一个变量来表示是否是首次访问。 您可以将某个内容放入查询字符串(我想甚至是cookie)中,并对其进行一些javascript检查,以确定是否应该显示它。 () 一种方法是在回发时删除dialog元素,这样jquery选择器就不会匹配任何内容。不确定这是否是最好的

我觉得这是一个愚蠢的问题,但我发现很难得到答案

我只想在页面第一次呈现时显示jquery对话框。页面呈现后,会有多个操作导致页面回发,但用户不会离开该页面

如何禁止jquery对话框在这些回发事件上显示

提前谢谢

  • 您可以在服务器上存储一个变量来表示是否是首次访问。
  • 您可以将某个内容放入查询字符串(我想甚至是cookie)中,并对其进行一些javascript检查,以确定是否应该显示它。
    ()

    • 一种方法是在回发时删除dialog元素,这样jquery选择器就不会匹配任何内容。不确定这是否是最好的方法,但它应该有效

      void Page_Load()
      {
          // stuff
          if(this.IsPostback)
              dialogElement.Visible = false;
      }
      

      您的dialogElement可以是任何东西,只要有runat=“server”,您就可以从代码后面访问它。Visible属性控制该元素是否在HTML输出中呈现,因此如果该属性为false,则该元素将不存在于DOM中。

      另一种处理方法是在服务器端页面加载事件期间将服务器端变量作为javascript变量注入页面。创建了一个类,使它变得微不足道。您可以将变量添加为键/值对,并将其呈现为JavaScript属性。

      感谢您的回答。由于该对话框需要在页面加载时显示,也可以通过单击链接重新打开,因此我提出了一个类似于ckramer的解决方案。HtmlGenericControl bdy=(HtmlGenericControl)Master.FindControl(“MasterBody”);如果(!IsPostBack){bdy.Attributes.Add(“onload”,“IsPostBack()”);}或者{bdy.Attributes.Remove(“onload”);}javascript函数IsPostBack(){$('#thedialog')。对话框('open');返回false;}