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

最近做用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;

(0)

相关推荐

  • asp.net下ajax.ajaxMethod使用方法

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

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

    最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了. 因为我发布网站用的是iis7,所以在web.config位置文件中<system.webServer><handlers>></handlers><system.webServer>里加入<add name="AjaxMethod" type="

  • Java中java.lang.ClassCastException异常原因及解决方法

    通常我们在 OOP 设计中都会使用到继承. ​​但是在继承对象之间的强制转换可能会遇到​​java.lang.ClassCastException​​异常的错误. 错误的日志如下: 19:58:25.010 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw

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

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

  • Oracle Index索引无效的原因与解决方法

    索引无效原因 最近遇到一个Oracle SQL语句的性能问题,修改功能之前的运行时间平均为0.3s,可是添加新功能后,时间达到了4~5s.虽然几张表的数据量都比较大(都在百万级以上),但是也都有正确创建索引,不知道到底慢在了哪里,下面展开调查. 经过几次排除,把问题范围缩小在索引上,首先在确定索引本身没有问题的前提下,考虑索引有没有被使用到,那么新的问题来了,怎么知道指定索引是否被启用. 判断索引是否被执行 1. 分析索引 即将索引至于监控状态下,对索引进行分析.如下对 ID_TT_SHOHOU

  • python中urllib.unquote乱码的原因与解决方法

    发现问题 Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:"%E6%B3%95%E5%9B%BD%E7%BA%A2%E9%85%92"解码后会转换成"法国红酒",但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码"法国红é-". 笔者在一个真实的Tornado应用中就

  • nodejs中安装ghost出错的原因及解决方法

    看了标题就知道安装ghost会碰到不少的坑,这里先说一个: 错误 (windows)通过ghost-cli来安装的步骤: npm install -g ghost-cli #全局安装ghost-cli cd myghostblog #进入工作目录 ghost install local #使用local参数在当前目录初始化一个ghost,使用sqlite数据库 出错信息如下: √ Downloading and installing Ghost v? √ Finishing install pr

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

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

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

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

  • IIS启用GZIP压缩js、css无效的原因及解决方法

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

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

    最近用jQuery来写下拉框的选项值的左右移动,代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

随机推荐