我觉得这是一个愚蠢的问题,但我很难得到这个答案。在asp.net上隐藏jQuery对话框
我只想在页面第一次呈现时显示jquery对话框。在页面呈现之后,有多个操作会导致页面回发,但用户不会离开该页面。
如何禁止在这些回发事件上显示jQuery对话框。
在此先感谢!
我觉得这是一个愚蠢的问题,但我很难得到这个答案。在asp.net上隐藏jQuery对话框
我只想在页面第一次呈现时显示jquery对话框。在页面呈现之后,有多个操作会导致页面回发,但用户不会离开该页面。
如何禁止在这些回发事件上显示jQuery对话框。
在此先感谢!
一种方法可以去除在回发对话框元素,这样的jQuery选择不匹配任何东西。不知道这是否是最好的方式,但它应该工作。
void Page_Load()
{
// stuff
if(this.IsPostback)
dialogElement.Visible = false;
}
你dialogElement可以是任何东西,只要有中用runat =“服务器”,您可以从代码隐藏的访问。 Visible属性控制元素是否在HTML输出中呈现,因此如果该元素为false,则该元素将不存在于DOM中。
处理这种情况的另一种方法是在服务器端Page_Load事件期间将服务器端变量作为javascript变量注入页面。 Rick Strahl创建了一个类,使其对pass ASP.NET server side variables to the client side JavaScript变得微不足道。您可以将您的变量添加为呈现为JavaScript属性的键/值对。
感谢您的回复。由于对话框需要在页面加载时显示,并且可以通过单击链接重新打开,所以我想出了一个与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