IIS7中Ajax.AjaxMethod无效的原因及解决方法

使用Ajax.AjaxMethod方法在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,具体的解决方法如下,遇到类似情况的朋友可以参考下
 

最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了。

因 为我发布网站用的是iis7,所以在web.config位置文件 中<system.webServer><handlers>></handlers><system.webServer> 里加入<add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />标签。

我的问题就是由于没有注意到iis版本问题,导致的。。。悲了个剧!

现在将整个方法要注意的都写下来,也方便以后再看,希望的的遭遇能让碰到同样错误的人看到,省下一点宝贵的时间,毕竟生命诚可贵吗,少费点神,少掉几根毛,哈哈。。。

直接在网上找篇全面的,别骂我抄袭。。。

使用AjaxMethod要满足一下几点:
1、如果还没有ajax.dll文件,就先下载一个来
2、将ajax.dll添加到项目引用中:在VS的解决方案资源管理器中右键点击项目名称--“添加项目引用”--浏览,找到ajax.dll确定
3、webCofig中<httpHandlers>加上<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>节点
如 果是IIS7,则需要在<system.webServer></system.webServer>里加上<add name="ajax" verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
在CS程序中加上

复制代码 代码如下:

protected void Page_Load(objectsender,EventArgse)
{
Ajax.Utility.RegisterTypeForAjax(typeof(ClassName));//ClassName是这个CS文件的类名
}

编写CS方法,方法前加上[Ajax.AjaxMethod()],
如果要使AjaxMethod里面能调用session,写成:[Ajax.AjaxMethod(HttpSessionStateRequirement.Read)] ,
如:

复制代码 代码如下:

[Ajax.AjaxMethod()]
public string GetAddress(string UserID)
{
string Address="";
//do somthing to get the address here
return Address;
}

注意方法要写成public,否则在JS里调用的时候会提示“不支持此属性或方法”

4、确保页面中有<form runat="server"></form>标签。

5、ASPX的JAVASCRIPT中调用时加上类名 ,如:
var address = ClassName.GetAddress('123').value;

时间: 2024-08-04 01:38:55

IIS7中Ajax.AjaxMethod无效的原因及解决方法的相关文章

php中出现空白页的原因及解决方法汇总_php技巧

很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的: 1.逻辑错误 逻辑错误是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的.为什么呢?也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本.在这里,我告诉大家一个比较好的调试方法,就是使用注释符"/* */",注释掉一些代码,观察运行情况,以此来逐个排除错误,最终找到错误代码的位置.这种情况下要

笔记本win7系统中无线鼠标失灵无法移动的原因及解决方法

  原因1.电脑中毒了 鼠标突然不动的问题,还有一种常见的原因就是电脑中毒了. 解决方法:建议使用杀毒软件进行全盘查杀病毒即可解决. 原因2.鼠标成像表面不兼容的现象 当用户移动鼠标时,屏幕上的指针纹丝不动或动的断断续续,这种情况下,很可能是鼠标引擎无法在用户目前使用表面上捕捉到可以让鼠标进行定位的细节所造成的,其实这种部分表面不兼容的现象,是一种常见的问题,无论光学鼠标还是激光鼠标,都有可能会出现此现象. 解决方法:只要将鼠标放置在其它表面上,比如白纸或裤腿上使用,就可以解决该问题了. 原因3

outlook邮件中无法显示图片的原因及解决方法

Outlook中无法显示图片的情况有以下几种: 1. outlook设置禁止了图片下载:Tool-Trust Center--Automatic Download--Don't download pictures automatically in HTML e-mail messages or RSS items  把前面的勾去掉. 2. Outlook认为邮件中含有潜在威胁,block了图片,这时点download pictures即可.要避免再出现这种情况,可以选择:Add Sender t

Jquery中Ajax 缓存带来的影响的解决方法_jquery

使用jquery里load方法或者ajax调用页面的时候会存在cache的问题,清除cache的方法: 调用$.ajaxSetup ({cache:false}) 方法即可. 复制代码 代码如下: <script type="text/javascript"> $.ajaxSetup({ cache: false }); </script>

windows7下启动mysql服务出现服务名无效的原因及解决方法_Mysql

问题原因:mysql服务没有安装. 解决办法: 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令 然后仍然以管理员的权限 net start mysql 开启Mysql服务了. 附卸载mysql服务的方法. 1.以管理员的权限 net stop mysql ,关闭mysql服务 2.以管理员的权限 mysqld -remove ,卸载mysql服务

IIS启用GZIP压缩js、css无效的原因及解决方法_win服务器

在卡卡网的网站速度诊断里的检测结果: html网页已经成功启用了GZip压缩 css文件未成功启用GZip压缩       后来研究发现,IIS启用GZip时默认压缩的只有html网页,如果需要压缩css.js等文件,还需要另外简单配置一个文件.       打开C:\WINDOWS\system32\inetsrv\MetaBase.xml这个文件,然后查找"IIsCompressionScheme",会发现有三段,后面那个不用管,只设置前面两个即可.其中,"/LM/W3S

jQuery在html有效在jsp无效的原因及解决方法

最近用jQuery来写下拉框的选项值的左右移动,放到jsp里面就不能用了,经过测试终于找到了解决方法在此与大家分享下   最近用jQuery来写下拉框的选项值的左右移动,代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <h

Win7中网页看视频卡的原因和解决方法

  1.有可能是电脑的配置过低,现在的视频网站对电脑配置的要求越来越高了,所以这里建议大家在电脑配置方面内存最少要达到2G,CPU最少双核,这样才能够让视频运行更加流畅; 2.电脑的开机启动项过多,建议将不必要的启动项关闭掉,避免电脑卡机; 3.可能是你的电脑开启了过多的软件,特别是P2P软件,P2P软件非常占带宽的,看网页视频的时候,建议先把各类P2P软件退出,常见的P2P软件包括:迅雷.电驴.快播.百度影音.暴风影音等. 4.系统垃圾过多,建议定期及时清理系统垃圾. 5.电脑中毒了,造成CP

IE8中ajax 跨域获取html模板解决方法

报错: statusText :"No Transport"   1,只有当浏览器是IE8 时才引入js: Html代码   <!--[if IE 8]>       <script type="text/javascript"               src="http://${static_domain}/chanjet/js/lib/common/jQuery.XDomainRequest.js"></sc