我正在当前项目中实现jquery选项卡,并希望通过包含updatepanel内部用户控件的ajax加载功能加载一个aspx页面。我正在调用的页面使用查询字符串来确定其内容,具体取决于单击的选项卡。在加载文档时。 ajax加载页面中的ready函数具有settimeout
函数,该函数会导致updatepanel上的__dopostback
刷新数据。
页面加载正常,但settimeout
函数(包含或不包含__dopostback
)会导致未知运行时错误在线 - updatePanelElement.innerHTML =渲染; ,尝试刷新页面会导致 Sys.ArgumentTypeException:类型为“Sys._Application”的对象无法转换为类型“Sys._Application”错误。根据您之间切换的标签数量 - 此错误将呈现相同的次数,我看到一些评论可能是垃圾收集问题?通过firebug的其他错误包括:Sys.Observable is null
,clearEventsHandler is null
。
我正在加载的页面包含所有jquery库,一个scriptmanager和一个名为shadowbox的插件。删除插件不会影响它。或者更改脚本管理器上的脚本模式。我正在使用jquery ui 1.8.11和jquery core 1.5。
我的标签设置如下(没有uls等)
<li><a href="/pmcbedman/Pages/RoomHolder.aspx?ward=2"><span>Ward 2</span></a></li>
<li><a href="/pmcbedman/Pages/RoomHolder.aspx?ward=3"><span>Ward 3</span></a></li>
<li><a href="/pmcbedman/Pages/RoomHolder.aspx?ward=7">Ward 7</a></li>
<li><a href="/pmcbedman/Pages/RoomHolder.aspx?ward=9">Ward 9</a></li>
<li><a href="/pmcbedman/Pages/RoomHolder.aspx?ward=ICU">ICU</a></li>
这是从主页面完成的标签调用:
$(function () {
$("#tabs").tabs({ cache: false, ajaxOptions: { success: function () { }, cache: false, error: function (xhr, status, index, anchor) { $(anchor.hash).html("Couldn't load this tab"); } } });
});
网上没有发现任何与此类似的内容 - 至少没有找到有效的解决方案 - 有没有人有任何想法?
答案 0 :(得分:0)
您是在引用MicrosoftAjax.debug.js
吗?
如果是,请尝试将引用更改为MicrosoftAjax.js
。还可以尝试将web.config更改为debug = false以查看是否更改了任何内容。