我有一个正在处理的 ASP.Net/AJAX 控制工具包项目。 80%的时候是没有问题的。该页面按预期运行。如果您刷新页面,它有时会显示一个 javascript 错误“Sys is undefined”。
它不会一直发生,但它是可以重现的。发生这种情况时,用户必须关闭浏览器并重新打开页面。
这使我相信它可能是 IIS 设置。
另一个注意事项。我在收到错误和未收到错误时都查看了页面源代码。当页面抛出错误时,缺少以下代码:
<script src="/ScriptResource.axd?d=EAvfjPfYejDh0Z2Zq5zTR_TXqL0DgVcj_h1wz8cst6uXazNiprV1LnAGq3uL8N2vRbpXu46VsAMFGSgpfovx9_cO8tpy2so6Qm_0HXVGg_Y1&t=baeb8cc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
原文由 James 发布,翻译遵循 CC BY-SA 4.0 许可协议
我通过将包含 Sys.* 调用的
<script type="text/javascript"></script>
块向下移动(到正文<asp:Content/>
部分结束前的最后一项)在页面上的 HTML 中移动来解决我的问题。我最初在我的页面的 HEAD<asp:Content/>
部分中有我的脚本块。我在一个有 MasterPageFile 的页面中工作。希望这可以帮助某人。