我在 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。
有没有其他人经历过这种情况或可能知道发生了什么?
提前致谢