jQuery-mobile和ASP.NET组合问题

我正在开发一个结合了jQuery.mobile和asp.net webforms的移动解决方案。

为了使我的asp.net控件的回发正常工作,我必须在页面顶部禁用ajax,如下所示:

 $.mobile.ajaxEnabled = false;  

但是当像这样禁用ajax时,其他function似乎不起作用。 我无法从jQuery文件中调用对话框/弹出窗口

例如:

  $(document).ready(function () { $('#myPopup').popup('open'); }); 

这将导致弹出窗口在不到一秒的时间内显示,然后消失。 此外,当我从codebehind注册一个clientcript以在单击服务器端按钮时触发弹出窗口时,弹出窗口会闪烁,然后消失。 但是当我在页面顶部禁用ajax时,弹出调用工作正常。

有任何想法如何解决这些问题?

文档就绪无法与jQuery Mobile成功使用。 它通常会在填充页面DOM之前触发。

而不是这一行:

 $(document).ready(function () { $('#myPopup').popup('open'); }); 

使用此行:

 $(document).on('pagebeforeshow', '#page-id', function(){ $('#myPopup').popup('open'); }); 

其中#page-id是包含该弹出窗口的页面的id。

jQuery Mobile存在文档准备问题,因此其开发人员创建了页面evenet来解决此问题,在本文中阅读更多相关信息或在此处查找。

编辑:

我认为你的问题也在$.mobile.ajaxEnabled = false; 处理。

该代码示例必须mobileinit事件触发,如下所示:

 $(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; }); 

还有一件事, 必须jQuery Mobile初始化之前触发mobileinit事件,如下所示:

    

我做的…..

请勿使用此处描述的说明

只需打开jquery.mobile-1.3.1.min.js文件,然后将其更改为:ajaxEnabled:!1

现在点击CTRL + F5并继续欢喜项目! ;)