使用AjaxMethod可以在客戶端異步調(diào)用服務(wù)端方法,簡(jiǎn)單地說就是在JS里調(diào)用后臺(tái).cs文件里的方法,
做一些JS無法做到的操作,如查詢數(shù)據(jù)庫
使用AjaxMethod要滿足一下幾點(diǎn):
1。如果還沒有ajax.dll文件,就先下載一個(gè)來
2。將ajax.dll添加到項(xiàng)目引用中:在VS的解決方案資源管理器中右鍵點(diǎn)擊項(xiàng)目名稱--“添加項(xiàng)目引用
”--瀏覽,找到ajax.dll確定
3。webCofig中<httpHandlers>加上<add verb="POST,GET" path="ajax/*.ashx"
type="Ajax.PageHandlerFactory, Ajax"/>節(jié)點(diǎn)
如果是IIS7,則需要在<system.webServer></system.webServer>里的handlers節(jié)點(diǎn)里加上<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是這個(gè)CS文件的類名
}
3:編寫CS方法,方法前加上[Ajax.AjaxMethod()],
如果要使AjaxMethod里面能調(diào)用session,寫成:[Ajax.AjaxMethod
(HttpSessionStateRequirement.Read)] ,
如:
復(fù)制代碼
代碼如下:
[Ajax.AjaxMethod()]
public string GetAddress(string UserID)
{
string Address="";
//do somthing to get the address here
return Address;
}
注意方法要寫成public,否則在JS里調(diào)用的時(shí)候會(huì)提示“不支持此屬性或方法”
4。確保頁面中有<form runat="server"></form>標(biāo)簽。
5。ASPX的JAVASCRIPT中調(diào)用時(shí)加上類名
更多信息請(qǐng)查看IT技術(shù)專欄