富贵论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

广告位招租qq41463402
查看: 12|回复: 0

[教程] IIS7中Ajax.AjaxMethod无效的原因及解决方法

[复制链接]

1万

主题

1364

回帖

5万

积分

巡抚

UID
19727
金钱
0 点
威望
0 点
贡献
18247 点
宣传
0 人
买家
0 元
卖家
0 元
注册时间
2017-5-21
最后登录
2024-7-27

超强在线勋章夜游神勋章

发表于 2024-4-16 20:01 | 显示全部楼层 |阅读模式

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

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

因 为我发布网站用的是iis7,所以在web.config位置文件 中> 里加入标签。

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

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

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

使用AjaxMethod要满足一下几点:

1、如果还没有ajax.dll文件,就先下载一个来

2、将ajax.dll添加到项目引用中:在VS的解决方案资源管理器中右键点击项目名称--“添加项目引用”--浏览,找到ajax.dll确定

3、webCofig中加上节点

如 果是IIS7,则需要在里加上

在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、确保页面中有

标签。

5、ASPX的JAVASCRIPT中调用时加上类名 ,如:

var address=ClassName.GetAddress('123').value;

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|富贵论坛 ( 琼ICP备2022019866号-1 )

GMT+8, 2024-7-27 13:51 , Processed in 0.123196 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表