ASP.NET Ajax 客户端框架未能加载、"Sys"未定义
在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0
导致菜单控件的图片显示不出来:
WebSite:程序中的图片显示正常。
但用到ASP.net 2.0 的 asp:TreeView 控件,控件显示不出图片
图片属性:
地址:http://localhost/WebSite/WebResource.axd?d=41VAQHZc9t11gcfcSh8IynBrLxqhiiUYVpPeaSf8-4s1&t=633965754543750000
协议:超文本传输协议
类型:不可用
创建时间:不可用
修改时间:不可用
如下图:

其实这个问题报另一个错:“ASP.NET Ajax 客户端框架未能加载、"Sys"未定义” 解决这个问题图片就显示出来啦 如下:
一开始是用IE游览器游览的 找不都错误所在,以为是reportviewer 的问题
于是在网上搜索发现了很多关于这方面的内容
但是发现出现相关的情况 都是“reportviewer在IIS7无法显示”为主题的。
可是我的IIS是6.0版本的按理说不会出现这种情况。但是还是抱着试一下的想法 按照他们的解决方法试了下。
解决方法如下:
原因是因为IIS7.5读取web.config的方式改变了,不再读取<system.web>的<httpHandlerss>的设置,而是改成了读取<system.webServer>的<handlers>的设置。
<system.web> <httpHandlers> <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> </httpHandlers> </system.web>
在IIS7.5下要改成如下:
<system.webServer> <handlers> <add name="ReportViewerWebControl" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </handlers> </system.webServer>
设置完成,报表可以正常显示
这边如果有是因为IIS7.0导致无法显示的朋友可以按照上面的方法试一下。
至于我。。当然没有成功了。
因为这边出现的情况是和我出现的一样的。。
所以我就条件反射的也以为是webconfig配置错误。。
结果浪费了一个晚上webconfig 都改烂掉了也没有解决掉。。。
第二天用火狐游览器的firdebug来检测了下
哇哈哈。。结果发现里面提示的是 "ASP.NET Ajax 客户端框架未能加载,"Sys"未定义"
恩开来这就是问题的根源了
于是就开始搜索这类问题的解决方案。。。
解决方案如下:
情况一:未设置编码
在<system.web>节点中加个 <globalization requestEncoding="utf-8" responseEncoding="utf-8"/> 就可以解决。
情况二:发布网站时没有添加引用(用VS2008会出现这样情况)
因为VS2008考虑到安全因素,没有在发布程序前添加System.Web.Extensions System.Web.Extensions.Design两个DLL,需自己添加.
情况三:WEBConfig配置问题
在web.config的system.web节中添加
<httpHandlers><remove path="*.asmx" verb="*"/><add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/><!--<add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>--><add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/></httpHandlers><httpModules><add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpModules>
即可解决。
情况四:IIS配置问题
查看IIS的配置(如果不是本地就得联系空间服务商),在应用程序配置中查找.axd映射,如果没有就新建,映射路径和.aspx一样,注意不要勾选”检查文件是否存在“,确定后测试下效果。如果已存在映射就检查下路径是否正确以及有没有勾选”检查文件是否存在“,问题应该能够解决

基本上出现的都是上面这些情况。。
然后本人就一个个方法的试。。结果。。没有一个成功。。。
为什么没有成功呢?因为如果成功了也就没有下文了
然后本人就开始思考了
首先
老的两个服务器上面配置文件都没改 都是可以用的 然后补丁也都打了 webconfig也都改烂掉了 网上能找到的改webconfig的方法都试过了 然后今天早上就在那想 昨天肯定找错方向了 因为一开始是认为rdlc出错 后来想到是asp.net的ajax客户端出错 错不因该在rdlc 上 因为补丁这些也都打了 然后再把webconfig的问题也排除了 就只剩下 环境的问题了
而跟环境有关的问题的话就只有一个 就是axd的问题但是axd这边确认文件是否存在也已经去掉了所以还是不知道在哪里出错
后来仔细一看发现是这里的问题

在IIS上面的网站属性下面 会有个一个 通配符应用程序映射(执行顺序) 这里不知道为什么多了一个关于ASPNET_ISAPI.DLL的设置。
然后这边的“确认文件是否存在”被打上了勾。
然后去掉。。果然解决了问题
然后又尝试了发布几个新的网站发现在这个服务器上都会自动添加这里一条。同时确认文件是否存在都是打勾的。。而我们内部测试的服务器则没有这一项。
问题很坑爹。。但是终觉是解决了呵呵。。
之后与跟老师探讨了下得出了以下结论:
“简单来讲就是isapi是用来处理axd的 但实际上axd不存在 所以就出错 而他这里的判断 确认文件是否存在就 判断 isapi 处理的axd 存在不存在”
当然这只是探讨出来的结论。至于对错就不知道了
如果有人知道真正的原因也请告诉一下在下谢谢。。。
以上思路来自于:http://www.cnblogs.com/PleaseInputEnglish/archive/2012/10/18/2729877.html 的博客。
ASP.NET Ajax 客户端框架未能加载、"Sys"未定义的更多相关文章
- asp.net ajax客户端框架如何调用Page Method
asp.net ajax客户端框架如何调用Page Method 1:欲调用的页面方法必须声明为公有(Public)2:该方法必须为静态方法(static)3:该方法必须添加[System.Web.S ...
- asp.net ajax客户端框架如何调用Web Service
asp.net ajax客户端框架如何调用Web Service 1:Web Service类添加 [System.Web.Script.Services.ScriptService]特性2:需要异步 ...
- iis7+的虚拟目录:未能加载程序集“**”。请确保在访问该页之前已经编译了此程序集
在使用win8系统后,突然想运行iis,于是在windows组件中启用iis,并aspnet_regiis.exe -i注册iis后,于是开始发布了一个站点,一切正常 继而,在该站点下添加虚拟目录,然 ...
- 异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项
常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项 看到这个异常,我估计谁都会头大一阵子,不过还好,由于前面知道要设置为x86,加上以前观察过I ...
- 关于Visual Studio 未能加载各种Package包的解决方案
问题: 打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种提示 解决方案: 进入用户目录 C:\Users\用户名\AppData\Local\M ...
- 未能加载包“Microsoft SQL Server Data Tools”
直接在vs2013里的App_Data目录创建数据库,在服务器资源管理器中查看时报错: 未能加载包“Microsoft SQL Server Data Tools” 英文: The 'Microsof ...
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- virtualbox安装增强功能时【未能加载虚拟光盘】
virtualbox安装增强功能时[未能加载虚拟光盘] 今天在使用Virtualbox中的Ubuntu虚拟机,想安装增强功能来实现更改分辨率,但是在安装时出错:未能加载虚拟光驱 VBoxsGuestA ...
- Windows7 安装vs2015 之后 调试Web项目IIS启动不了 aspnetcore.dll未能加载
安装windows企业版,整整折腾了两天了,一个本身家里网络环境不好,时不时掉线,终于披荆斩棘,克服了所有困难,结果VS2015 EnterPrise 版本在调试Web环境的时候,始终在任务栏里找不到 ...
随机推荐
- CentOS6.5 linux 逻辑卷管理 调整分区大小
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 50 ...
- vue项目搭建 (一)
vue项目搭建 (一) 由于一直想要有自己的框架,因而一直在尝试搭建各类结构,结合vue官网及git上大神bailicangdu的项目,再看看网上一些意见,及个人思考,总结的一些,不到之处希望大家可以 ...
- 【Html 学习笔记】第七节——表单
文本框:<form> <input> </form> 密码域-文本框:<input type ="password" > 复选框:& ...
- @Transactional的readOnly、timeout
1.@Transactional的readOnly 在使用@Transactional注解的时候,有一个属性是readOnly,默认值是false readOnly的意思就是当前的方法是只读的,也就是 ...
- 网络请求工具 cURL
网络请求工具 cURL 2017-08-16 cRUL 是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在“标准输出”(stdout)上面. 查看网页源码 1 $ curl baidu. ...
- java.io.IOException: Unable to establish loopback connection
1.错误描述 Starting preview server on port 8080 Modules: HTML5 (/HTML5) 2017-06-17 11:13:04.823:INFO::ma ...
- 基于Vue的后台选择推荐
引言: Vue.js目前是业界大名鼎鼎的Web解决方案,具体有点,我这里就不再赘述了,感兴趣的童鞋自行查找阅读,这里罗列一下,这几天自己研究的成果,管理后台. 管理后台 Vue Element Adm ...
- EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)
本文转自EasyDarwin开源团队成员Sword的博客:http://blog.csdn.net/swordtwelve EasyPlayer(Windows) v2.0.17.0709版本又更新发 ...
- [置顶]
曙光到来,我的新书《Android进阶之光》已出版
独立博客版本请点击这里 由来 2016年我开始建立了自己的知识体系,所有的文章都是围绕着这个体系来写,随着这个体系的慢慢成长,开始有很多出版社联系我写书,因为比较看好电子工业出版社,就顺理成章的开始了 ...
- Mininet python代码创建拓扑、交互式界面创建主机、交换机
python代码创建拓扑: from mininet.net importMininet net =Mininet() # Creating nodes in the network. c ...