我在ASP.Net页面上以两种不同的模式使用JQModal。对于某些模态,我在页面中显示内联内容。对于其他模态,我使用JQModal上的AJAX属性来显示外部页面中的内容。我发现这两种模式似乎相互冲突。例如,如果我在页面上打开一个AJAX模式,执行一些操作并关闭,然后在页面上打开一个内联模式,执行一些操作然后尝试关闭,我得到了奇怪的JQuery / JQModal javascript错误如下:
Microsoft JScript runtime error: 'a' is null or not an object
-OR -
Microsoft JScript runtime error: 'h' is null or not an object
如果我在页面上时我只使用内联模式,一切正常。但是只要我打开并关闭其中一个AJAX模态,我就会开始看到通常工作的内联模式中的操作引发的脚本错误。当打开AJAX模态并且我还没有掌握正在发生的事情以及如何解决它时,就像是在重新连线。
在呈现页面之前,我的所有模态都在代码隐藏中连接起来。以下是连接内联模态的代码摘录,后面跟着连接AJAX模式的代码:
PAGE INLINE MODALS:
$('#<%#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'));
PAGE AJAX模式:
$('#digitalModal')
.jqm({ modal: true, ajax: '@href', ajaxText: 'Please Wait...', trigger: 'a.digitalTrigger',
onHide: UpdateParentState});
});
作为另一个更具体的例子,如果我打开一个对该模态$('#modInline-' + itemNumber).jqmHide()
执行jqmHide的内联模态,一切都很好,直到我打开一个AJAX模态。如果我打开一个AJAX模式,关闭,打开内联模式,之前工作的同一行代码将抛出错误:Microsoft JScript运行时错误:'a'为null或不是对象。
是否有其他人经历过此事或可能知道发生了什么?
提前致谢
答案 0 :(得分:0)
当然,事实证明这是一个相当愚蠢的事情。我在模式中显示的AJAX页面上包含了JQuery和JQModal库,它们与父页面上的库冲突。