当前位置:  开发笔记 > 编程语言 > 正文

系统未定义

如何解决《系统未定义》经验,为你挑选了7个好方法。

我正在开发一个ASP.Net/AJAX控件包项目.80%的时间没有问题.页面应该运行.如果您刷新页面,它有时会显示一个javascript错误"系统未定义".

它不会一直发生,但它是可重复的.当它发生时,用户必须关闭他们的浏览器并重新打开页面.

这让我相信它可能是一个IIS设置.

另一个说明.当我收到错误时,我查看了页面源,何时没有.当页面抛出错误时,缺少以下代码:



Dean L.. 53

我通过在页面上的HTML中将包含Sys.*调用的块向下移动(到主体部分关闭之前的最后一项)来解决我的问题.我最初在我的页面的HEAD 部分有我的脚本块.我在一个有MasterPageFile的页面内工作.希望这有助于某人.



1> Dean L..:

我通过在页面上的HTML中将包含Sys.*调用的块向下移动(到主体部分关闭之前的最后一项)来解决我的问题.我最初在我的页面的HEAD 部分有我的脚本块.我在一个有MasterPageFile的页面内工作.希望这有助于某人.


所以,我有同样的问题.缺少包含脚本资源的标记,但在页面的末尾,正在呈现`Sys.Application.initialize();`call**.这只发生在我的应用程序中的一百页中,但我没有自己做任何`Sys.调用,也没有使用任何JavaScript或AJAX控件.有什么想法吗?

2> Ray Vega..:

当我遇到错误时

系统未定义

ASP.NET Ajax客户端框架无法加载

在IE中,当在.NET 2.0中使用ASP.NET Ajax控件时,我需要将以下内容添加到标记内的web.config文件中:


  
  
  


这对我有用,但只需要在
3> goodeye..:

Dean的回答,https: //stackoverflow.com/a/1718513/292060对我有用,因为我对Sys的调用还为时过早.由于我使用的是jQuery,而不是将其移动,我将脚本放在document.ready调用中:

$(document).ready(function () {
  Sys. calls here
});

这似乎已经足够晚,Sys可用.



4> 小智..:

尝试将ScriptManager设置为此.

 


我的问题是我完全错过了ScriptManager.添加它修复了问题.

5> Zviadi..:

我正在使用telerik并且遇到了完全相同的问题.

将此添加到web.config解决了我的问题:)

   
     
       
         
       
     

也许它也会对你有所帮助.这是身份验证问题.

资源



6> 小智..:

您必须在web.config中添加这些行


  
  
  
  


  


希望这可以帮助.



7> Alexandre N...:

尝试以下解决方案之一:

1.浏览器无法加载压缩脚本

如果您在IE6上收到错误,通常就是这种情况,但在其他浏览器上却没有.

脚本资源处理程序 - ScriptResource.axd在将脚本返回到浏览器之前压缩脚本.在RTM之前的版本中,处理程序一直为所有浏览器执行此操作,并且它不可配置.IE6的某个组件中存在一个问题,即无法正确加载压缩脚本.请参阅此处的 KB文章.在RTM版本中,我们为此做了两个修复.一,如果IE6是浏览器客户端,我们不压缩.二,我们现在已经进行了压缩配置.以下是切换web.config的方法.

你是如何解决的?首先,确保您使用的是AJAX Extensions 1.0 RTM版本.仅此一点就足够了.您还可以通过编辑web.config来尝试关闭压缩,以获得以下内容:






2.对于应用程序的web.config,不存在ScriptResourceHandler所需的配置

确保您的web.config包含随extensions install提供的默认web.config文件中的条目.(默认位置:C:\ Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025)

3.您用于Web的虚拟目录未正确标记为应用程序(因此配置未加载) - IIS Web会发生这种情况.

确保您使用的是Web应用程序,而不仅仅是虚拟目录

4. ScriptResource.axd请求返回404

这通常表明ASP.NET整体错误配置.在ASP.NET的默认安装中,对以.axd结尾的资源的任何Web请求都通过isapi映射从IIS传递到ASP.NET.此外,映射配置为不检查文件是否存在.如果该映射不存在,或者检查文件是否存在未被禁用,则IIS将尝试查找物理文件ScriptResource.axd,找不到它,并返回404.

您可以通过从这里coipy /粘贴完整URL到ScriptResource.axd来检查这是否是问题,并查看它返回的内容


你是如何解决这个问题的?如果没有正确安装ASP.NET,您可以运行"aspnet_regiis.exe"命令行工具来修复它.它位于C:\ WINDOWS\Microsoft.Net\Framework\v2.0.50727中.您可以运行"aspnet_regiis -i -enable",它使用IIS完全注册ASP.NET,并确保在IIS6中启用了ISAPI.您还可以运行"aspnet_regiis -s w3svc/1/root/MyWebApp"来仅修复Web应用程序的注册.

5.解决IIS 7下ASP.NET AJAX RTM中的"系统未定义"错误

把这个条目放在:


并删除下一个.

参考文献:http : //weblogs.asp.net/chrisri/demystifying-sys-is-undefined http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有