最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:52:21
文档

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

IIS7中Ajax.AjaxMethod无效的原因及解决方法:最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了。 因为我发布网站用的是iis7,所以在web.config位置文件中<system.webServer&g
推荐度:
导读IIS7中Ajax.AjaxMethod无效的原因及解决方法:最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了。 因为我发布网站用的是iis7,所以在web.config位置文件中<system.webServer&g


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

文档

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

IIS7中Ajax.AjaxMethod无效的原因及解决方法:最近做用Ajax.AjaxMethod方法的时候,在asp.net的服务器下一切正常,用iis的时候,js中总是cs类找不到,我就郁闷了,折腾了大半天,终于找到错误原因了。 因为我发布网站用的是iis7,所以在web.config位置文件中<system.webServer&g
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top