asp.net下Ajax.AjaxMethod使用方法

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

使用AjaxMethod要满足一下几点:
1。如果还没有ajax.dll文件,就先下载一个来。。将ajax.dll添加到项目引用中:在VS的解决方案资源管理器中右键点击项目名称--“添加项目引用”--浏览,找到ajax.dll确定
2。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"/>
3。在CS程序中加上
protected void Page_Load(objectsender,EventArgse)
{
Ajax.Utility.RegisterTypeForAjax(typeof(ClassName));//ClassName是这个CS文件的类名
}
4。编写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里调用的时候会提示“不支持此属性或方法”

5。确保页面中有<formrunat="server"></form>标签。

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

 

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

你可能感兴趣的:(JavaScript,Ajax,数据库,session,String,asp.net)