解决asp.net ajax sys未定义的解决方法

 更新时间:2010年06月09日 17:20:54   作者:   我要评论
这个方法绝对it560原创,而且会让大家少走弯路,对于网上流传的webconfig配置错误的说法绝对是忽悠人,配置文件错误的记录大概是0.1%
出现这种错误,一般是缺少2个文件,放到项目或者服务器根目录下

新建记事本,随便打上几个字母,分别保存为以下2个文件,上传即可解决

WebResource.axd , ScriptResource.axd

或参考如下方法:每个人碰到的原因可能不一样。

首先,我们看一下网上出问题的同志们虽说都是"Sys 未定义",但是情况却不尽相同,有的人使用的是Atlas版本,有的使用的Asp.net ajax Beta,有的则是正式发行版Asp.net ajax Beta,所以解决的方法也有区别了。下面简单归纳一下现有的几种方法:
1、Web.config配置问题:
将Web.config中的相关节配置成如下,然后重新编译你的程序:
复制代码 代码如下:

<HTTPHANDLERS>
<REMOVE path='"*.asmx"/' verb='"*"'>
<ADD path='"*.asmx"' verb='"*"' PublicKeyToken='31bf3856ad364e35"/' Culture="neutral," Version="1.0.61025.0," Microsoft.Web.Extensions, type='"Microsoft.Web.Script.Services.ScriptHandlerFactory,' validate='"false"'>
<ADD path='"ScriptResource.axd"' verb='"GET"' type='"Microsoft.Web.Handlers.ScriptResourceHandler"' validate='"false"/'>
</HTTPHANDLERS>
<COMPILATION debug='"true"'>
<ASSEMBLIES>
<ADD PublicKeyToken='31BF3856AD364E35"/' Culture="neutral," Version="1.0.61025.0," assembly='"Microsoft.Web.Extensions,'>
</ASSEMBLIES>
</COMPILATION>

如果还有错误,试着把<asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200" />写在紧随<form>标记内

2、权限问题:
匿名用户无法访问 axd文件时,就会造成此类错误,关于这个的讨论大家可以看看 《Asp.net Ajax 中的脚本错误: Sys未定义 的解决方法》,在这里作者有详细的讨论

3、IIS的问题,由于IIS版本问题也可能导致此类错误,比如你用的服务器操作系统是2000 server等等,你需要把它们升级到最新版本,这主要是针对IIS的升级。Win2003用户可以从下面这个地址下载到相关的补丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe (建议你安装sp2并实时更新升级)
相关讨论大家还可以看一下这儿的讨论:博客园——http://www.cnblogs.com/ltc31/archive/2006/09/20/510003.html

4、类库问题:
如果真是这儿的问题应该解决起来就比较简单了,你只需要安照下面的步骤做即可
到http://ajax.asp.net/downloads/beta/default.aspx?tabid=47&subtabid=471 下载一个库文件然后解压到X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 (x代表你安装路径盘符)
即可

5、有人提到用IP访问就会有问题,用Localhost或者域名就正常,这儿我估计是缓存的问题,可以更新一下缓存看看是不是能够解决

6、另外就杀毒软件的问题了,如果你的杀毒软件比较敏感的话也可能会杀掉了某些js程序导致此类问题的产生

7、当然了,你首先得检查一下你的浏览器没有禁止javascript脚本才行(这个应该最早确认)

8、我自己解决办法:我在试了上面几种方法之后都没有很好地解决,于是我就把所有的Asp.net Ajax的东东全部删除,包括ToolKits,然后再从asp.net上重新下载最新版本的Ajax安装之,发现问题简简单单地解决了。安装成功后,在VS的工具箱里分别多了Ajax Extions和Ajax ToolKits两个选项卡,之后我安装后是没有的…… 大家不妨也试一下,按理说成功安装完成之后就可以正常使用的

9、程序本身的问题:如果你在程序中有自己的Javascript代码的话,你需要仔细检查一下客户端执行后的代码情况,看看是不是某些变量在未定义前就使用了,特别要注意加载的顺序,总之这也是一个造成sys 类型未定义的一个原因

相关文章

  • ASP.NET页面请求超时时间设置多种方法

    ASP.NET页面请求超时时间设置多种方法

    这篇文章主要为大家详细介绍了ASP.NET页面请求超时时间设置Server.ScriptTimeOut executionTimeout多种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • win10下vs2015配置Opencv3.1.0详细过程

    win10下vs2015配置Opencv3.1.0详细过程

    这篇文章主要为大家详细介绍了win10下vs2015配置Opencv3.1.0的详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 获取DataList控件的主键和索引实用图解

    获取DataList控件的主键和索引实用图解

    一是在DataList控件添加一个DataKeyField,以便获取到它的主键值,另外还添加了两个铵钮及一个Label标答,用来显示选择结果,真正将来你也许用不上标签,因为获取到结果之后,就可以进行你想的要事情了
    2013-01-01
  • VS2013设置护眼背景颜色

    VS2013设置护眼背景颜色

    我们做开发的一做基本都是一天,对着屏幕眼镜肯定会累,下面教大家一个VS2013设置护眼背景色的方法。
    2016-04-04
  • ASP.NET MVC如何使用Unity实现Ioc详解

    ASP.NET MVC如何使用Unity实现Ioc详解

    这篇文章主要给大家介绍了关于ASP.NET MVC如何使用Unity实现Ioc的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • .NET Unity IOC框架使用实例详解

    .NET Unity IOC框架使用实例详解

    这篇文章主要为大家详细介绍了.NET Unity IOC框架的使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 金沙国际官网SqlParameter 的插入操作,防止sql注入的实现代码

    金沙国际官网SqlParameter 的插入操作,防止sql注入的实现代码

    今天学习了一下SqlParameter的用法,原来这么写是为了防止sql注入,破坏金沙国际官网的。并自己动手连接了金沙国际官网。
    2013-04-04
  • ASP.NET性能优化之让浏览器缓存动态网页的方法

    ASP.NET性能优化之让浏览器缓存动态网页的方法

    上一篇《ASP.NET性能优化之构建自定义文件缓存》我们通过OutputCache,让请求去访问服务器asp.net的输出缓存,我们扩展了OutputCacheProvider,这相当于是访问服务器上的静态资源。
    2011-09-09
  • .net SMTP发送Email实例(可带附件)

    .net SMTP发送Email实例(可带附件)

    本文为大家详细介绍下.net SMTP发送Email同时可带附件的具体实现思路及代码,想实现的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • asp.net 对中文汉字的加密与解密代码

    asp.net 对中文汉字的加密与解密代码

    一般的加密方法,解密比较复杂,所有大家看可以尝试用下面的代码。
    2009-05-05

最新评论