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

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文件的類名
}
  1. 編寫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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章