JQueryMobile对话框中显示,因为回传的两倍(JQueryMobile dialog sho

2019-10-17 09:34发布

我有一个asp.net页面嵌入在一个UpdatePanel计时器(的UpdateMode =“有条件的”,ChildrenAsTriggers =“假”)。 定时器负责更新该页面的某些组件每隔几秒钟。

也有在页面上一些超链接控制和点击时(数据相对=“对话”),他们打开JQueryMobile对话框。 问题是,计时器我提到的原因,每隔几秒钟回传。 因此,当打开一个对话框,然后关闭,再经过第一个这样的回传导致的对话框再次打开。

使用rel =“外部”正如我所说的超链接的另一个属性解决了这个问题,但是这对我来说是无解的。 这将导致全重定向到对话框页面,而不是显示它使用AJAX(仿佛在当前页面的顶部)。

我的想法是被点击任何超链接时停止计时。 这解决了问题,但我不知道如何在对话框关闭时再启动定时器。 是否有可能在关闭一个JQueryMobile对话框来检测? 我知道,这听起来很愚蠢,但我不能想出更好的主意。 你能帮助我,好吗?

所以基本上,我不希望JQueryMobile对话页面,以示对计时器滴答之后的第二次。 能否请你告诉我如何做到这一点?

Answer 1:

jQuery Mobile的使用asp.net Web窗体和UpdatePannel ? 这听起来像一个可怕的组合。

jQuery Mobile的和Web Forms根本不能很好地协同工作。 的具体问题在于Web窗体需要一个单一的<form />元素,它包装所有控件(和大多数内容)。 jQuery Mobile的试图建立与通过AJAX加载“虚拟”页的DOM。 这打破提交整个表单,而不是每个页面模板中发现的单一形式的回传模式。 现在抛出UpdatePanels在那里...

你唯一的希望是单页模板专门去并禁用所有的Ajax加载data-ajax="false"两个链接和表单。 而只是说没有UpdatePanels

asp.net MVC会给你在这些问题上更大的控制权。



文章来源: JQueryMobile dialog shows twice because of a postback