0

我在 ASP.Net 页面上以两种不同的模式使用 JQModal。对于某些模式,我正在显示页面中的内联内容。对于其他模式,我使用 JQModal 上的 AJAX 属性来显示来自外部页面的内容。我发现这两种模式似乎相互冲突。例如,如果我在页面上打开一个 AJAX 模式,执行一些操作并关闭,然后打开页面上的一个内联模式,执行一些操作然后尝试关闭,我会收到奇怪的 JQuery/JQModal javascript 错误例如:

Microsoft JScript runtime error: 'a' is null or not an object

-或者-

Microsoft JScript runtime error: 'h' is null or not an object

如果我在页面上时只使用内联模式,那么一切正常。但是,一旦我打开和关闭其中一个 AJAX 模式,我就会开始看到正常工作的内联模式中的操作引发的脚本错误。就像打开 AJAX 模式时某些东西正在重新连接,而我还没有掌握发生了什么以及如何解决它。

在呈现页面之前,我所有的模式都在代码隐藏中连接起来。以下是连接内联模式的代码摘录,然后是连接 AJAX 模式的代码:

页面内联模式:

$('#<%#Container.DataItem%>')
 .jqm({ modal: true , 
     onShow:function(hash){
           hash.w.css('opacity',1).fadeIn("fast"); 
            },
            onHide: function(hash) {
             hash.w.fadeOut("fast",function() { if(hash.o)     {hash.o.remove();} }); 
 }})
      .jqmAddTrigger($('#<%#Container.DataItem%>Open'))
      .jqmAddClose($('#<%#Container.DataItem%>Close')); 

页面 AJAX 模式:

$('#digitalModal')
    .jqm({ modal: true, ajax: '@href', ajaxText: 'Please Wait...',  trigger: 'a.digitalTrigger',
     onHide: UpdateParentState});   
});

作为另一个更具体的示例,如果我打开一个内联模态,该模态对该模态执行 jqmHide,那么$('#modInline-' + itemNumber).jqmHide()一切都很好,直到我打开一个 AJAX 模态。如果我打开 AJAX 模式,关闭,打开 Inline 模式,之前工作的同一行代码将引发错误:Microsoft JScript 运行时错误:'a' is null or not an object。

有没有其他人经历过这种情况或可能知道发生了什么?

提前致谢

4

1 回答 1

0

当然,这被证明是相当愚蠢的事情。我在模式中显示的 AJAX 页面上包含了 JQuery 和 JQModal 库,它们与父页面上的库冲突。

于 2010-07-14T13:33:50.770 回答