您的位置:首页 > 编程语言 > ASP

asp.net中ajax.ajaxMethod使用方法和实例

2016-12-09 16:47 681 查看

asp.net中ajax.ajaxMethod使用方法和实例

使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法,做一些JS无法做到的操作,如查询数据库

使用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" />


4. 在CS程序Page_Load中加上

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里调用的时候会提示“不支持此属性或方法”

6. 确保页面中有标签。

7. ASPX的JAVASCRIPT中调用时加上类名 ,如:

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


或者:

ClassName.GetAddress('123',responsFunc);
function responsFunc(data){
//do what you want
}


转载自:http://www.jb51.net/article/28520.htm

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  asp.net ajax 实例