ajax传参到实体类对应字段
?? 之前看公司的代碼,從頁(yè)面ajax傳參數(shù)到接口類,接口類用一個(gè)實(shí)體接收。我一直以為c#會(huì)自動(dòng)識(shí)別,賦值到同名的字段。
?? 我曾和朋友討論過(guò),雙方辯論。朋友認(rèn)為c#沒(méi)有這種功能,沒(méi)有這樣高級(jí)匹配的機(jī)制。而我因?yàn)樵陧?xiàng)目中使用的是直接傳值,并沒(méi)有做過(guò)什么拼接或轉(zhuǎn)換,所以我認(rèn)為c#會(huì)自動(dòng)把同名的自動(dòng)賦值。朋友不同意,于是我們覺(jué)得代碼上見分曉。
?? 打開vs,我們開始調(diào)試,寫好一段ajax的js,Url就寫接口類的路徑,參數(shù)為一段json,然后接口類那邊接收json。寫到接口類的時(shí)候,我想要接收ajax傳來(lái)的數(shù)據(jù),忽然就蒙了。一個(gè)類怎么接收頁(yè)面?zhèn)鱽?lái)的數(shù)據(jù),用XmlHttpRequest?WebHttpRequest?之前一直以為是理所當(dāng)然的事情崩潰了,明明我之前用的時(shí)候都沒(méi)有接收數(shù)據(jù)的代碼,應(yīng)該是直接會(huì)賦值的啊?為啥我自己寫的時(shí)候就要整接收?
?? 于是我翻開源代碼,發(fā)現(xiàn)關(guān)鍵的代碼被編譯過(guò)了,沒(méi)關(guān)系,我們還可以反編譯。
?? 找到調(diào)用的代碼,我一下子就恍然大悟了。原來(lái)項(xiàng)目里已經(jīng)封裝過(guò)接收數(shù)據(jù)的代碼了,有一個(gè)專門接收ajax傳的數(shù)據(jù)并把它轉(zhuǎn)換為實(shí)體的類。我瞬間就有點(diǎn)佩服公司的開發(fā)人員了,封裝了接收數(shù)據(jù)的類,讓接口類不需要只要處理邏輯,而不用在意怎樣接收數(shù)據(jù),接收怎樣的數(shù)據(jù),的確是大大方便了開發(fā)人員。
?? 那么我們就開始分析,首先ajax傳來(lái)的參數(shù)以json格式傳到一個(gè)專門處理數(shù)據(jù)封裝的地方,可以是一個(gè).cs文件,也可以是一個(gè)一般處理程序。在內(nèi)部接收ajax傳來(lái)的json數(shù)據(jù),然后轉(zhuǎn)換為實(shí)體數(shù)據(jù),方便而簡(jiǎn)單。
??
轉(zhuǎn)載于:https://www.cnblogs.com/lgl-blogs/p/5870007.html
總結(jié)
以上是生活随笔為你收集整理的ajax传参到实体类对应字段的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用chm创建后门
- 下一篇: Atitit.js图表控件总结