今天在寫一個(gè)Ajax的時(shí)候發(fā)現(xiàn)了一寫問(wèn)題,寫下來(lái)給大家分享以下。
為了使js面向?qū)ο螅植挥枚x類的結(jié)構(gòu),我在服務(wù)器端定義了一個(gè)Ajax方法,返回一個(gè)空的對(duì)象,比如說(shuō)M_Res。
然后js通過(guò)Ajax請(qǐng)求得到這個(gè)空的對(duì)象之后,在使用Clone的方法重復(fù)使用這個(gè)對(duì)象結(jié)構(gòu)。
但是在對(duì)象的值填滿后,發(fā)現(xiàn)調(diào)用失敗,原因就出在我這個(gè)對(duì)象中有幾個(gè)DateTime類型的字段。如果在JS中不給這幾個(gè)字段賦值為Date類對(duì)象的話,在服務(wù)器端就不能找到這個(gè)方法(其實(shí)就是對(duì)象轉(zhuǎn)換失?。S谑俏覍⒈热鏜_Res.CreateDate = new Date("2009/01/01");
哈哈,這樣問(wèn)題就解決了,Ajax調(diào)用沒(méi)有任何問(wèn)題了。
其實(shí)這個(gè)Ajax不能自動(dòng)將字符串轉(zhuǎn)化為Datetime的,呵呵。
另外,AjaxPro需要在頁(yè)面的Onload事件中注冊(cè)這個(gè)頁(yè)面的CS代碼包含的類。這樣也太麻煩了,呵呵。
我在每個(gè)頁(yè)面的基類(PageBase)中的Onload事件中統(tǒng)一注冊(cè)了,例如:
protected override void OnLoad(EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(this.GetType(), this.Page);
base.OnLoad(e);
}
Tag標(biāo)簽: AjaxPro,不支持方法調(diào)用