2010-05-28 97 views
0

我觉得这是一个愚蠢的问题,但我很难得到这个答案。在asp.net上隐藏jQuery对话框

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

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

在此先感谢!

回答

0
  • 你可以在服务器上存储一个变量来表示它是否是第一次访问。
  • 你可以在查询字符串中放置某些东西(或者甚至是我想的cookie),然后通过javascript检查它是否应该显示它。
    http://www.yoursite.com/yourpage?firstvisit=false
1

一种方法可以去除在回发对话框元素,这样的jQuery选择不匹配任何东西。不知道这是否是最好的方式,但它应该工作。

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

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

+0

感谢您的回复。由于对话框需要在页面加载时显示,并且可以通过单击链接重新打开,所以我想出了一个与ckramer类似的解决方案。 HtmlGenericControl bdy =(HtmlGenericControl)Master.FindControl(“MasterBody”);如果(!IsPostBack) { bdy.Attributes.Add(“onload”,“isPostBack()”); } else { bdy.Attributes.Remove(“onload”); } 的JavaScript 功能的IsPostBack(){ $( '#thedialog')对话框( '开放')。 返回false; } – mellowyellow77 2010-06-01 14:09:20