heartstill

博客园 首页 新随笔 联系 订阅 管理

如何使用ajax.ajaxMethod

分类: ExtJs+C#+linq 667人阅读 评论(3) 收藏 举报

使用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" />
2:在CS程序中加上
protected void Page_Load(objectsender,EventArgse)
{
     Ajax.Utility.RegisterTypeForAjax(typeof(ClassName));//ClassName是这个CS文件的类名
}
3:编写CS方法,方法前加上[Ajax.AjaxMethod()],

如果要使AjaxMethod里面能调用session,写成:[Ajax.AjaxMethod(HttpSessionStateRequirement.Read)] ,

如:

  1. [Ajax.AjaxMethod()]  
  2. public string GetAddress(string UserID)  
  3. {  
  4.    string Address="";  
  5.   //do somthing to get the address here   
  6.    return Address;  
  7. }  

 

注意方法要写成public,否则在JS里调用的时候会提示“不支持此属性或方法”


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


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

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

posted on 2011-10-11 10:29  开始测试  阅读(368)  评论(0编辑  收藏  举报