溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

webAPI 使用dynamic傳遞參數(shù) 摒棄臨時(shí)類(lèi)

發(fā)布時(shí)間:2020-06-23 22:46:30 來(lái)源:網(wǎng)絡(luò) 閱讀:1359 作者:燃燒的太陽(yáng) 欄目:開(kāi)發(fā)技術(shù)

最近在使用webAPI進(jìn)行post傳遞多個(gè)參數(shù),其中出現(xiàn)的錯(cuò)誤進(jìn)行共享

1。 缺少編譯器要求的成員“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”

解決辦法 :在Nuget管理其中,搜索“Microsoft.CSharp” 并安裝到相應(yīng)的解決方案中
webAPI 使用dynamic傳遞參數(shù)   摒棄臨時(shí)類(lèi)

  1. “Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”類(lèi)型的未經(jīng)處理的異常;其他信息: “object”未包含“Id”的定義
    原因是因?yàn)閍jax傳遞的參數(shù)問(wèn)題,
    參數(shù)如下:
    參數(shù)1:
    data:JSON.stringify({noticeId:10086,contact:contactlist})
    這種情況下,后臺(tái)解析不到對(duì)應(yīng)的Id和name
    參數(shù)2:
    data:JSON.parse(JSON.stringify({noticeId:10086,contact:contactlist}))
    或者
    data:{id:10086,name:"移動(dòng)通信"}
    后臺(tái)才能解析到對(duì)應(yīng)的id和name ,然后轉(zhuǎn)換成你想要的數(shù)據(jù)格式

這樣在傳遞參數(shù)時(shí)候,就不用在后臺(tái)再進(jìn)行創(chuàng)建臨時(shí)類(lèi)接受數(shù)據(jù)了。

后臺(tái)代碼:

[HttpPost]
public string Notice_Log(dynamic obj )
{

                List<contact> obj1 = JsonConvert.DeserializeObject<List<contact>>(Convert.ToString(obj.contact));
                int id = JsonConvert.DeserializeObject<int>(Convert.ToString(obj.noticeId));
                var strName = Convert.ToString(obj.noticeId);
                return null;

}

}

希望對(duì)問(wèn)題解決有一些幫助

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI