簡體   English   中英

ASP.Net MVC POST數據未映射到模型

[英]ASP.Net MVC POST data not mapping to model

我正在嘗試建立一個模型來從HTTPPOST接收數據。

收到模型並填充良好-除了IList<harsta> harequest

它顯示為計數為1,但字段的值為空: 屏幕截圖

我的模型是:

 public class HAR
 {
    public int api_version { get; set; }
    public IList<harsta> harequest { get; set; }
    public class harsta
    {
        public int ta_id { get; set; }
        public string partner_id { get; set; }
        public string partner_url { get; set; }
    }
   ...
   ...
    }

harrequest的過帳數據為(應具有2個條目):

[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},
{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]

PostMan的屏幕截圖顯示了發送到控制器的表單編碼數據: ss2

Example Request (this is the example provided on the 3rd party website)

POST
http://partner-site.com/api_implementation/ha
BODY
api_version=4
&harequest=[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]
&start_date=2013-07-01
...
&query_key=6167a22d1f87d2028bf60a8e5e27afa7_191_13602996000

我確定它沒有映射到我的模型,因為我在這里設置模型的方式是:

    public IList<harsta> harequest { get; set; }
    public class harsta
    {
        public int ta_id { get; set; }
        public string partner_id { get; set; }
        public string partner_url { get; set; }
    }

我是否錯誤地設置了模型以從POST的harequest字段接收JSON數據?

首先,我對將Harsta班級嵌入Har班並不完全滿意。 沒有好的做法將它們分開。

其次,我認為您的問題實際上是由於您要返回的JSON對象中的屬性名稱用引號引起來。 除去僅屬性名稱的引號。

那不是這樣做:

[{"ta_id":97497,"partner_id":"229547","partner_url":"http://partner.com/deeplink/to/229547"},
{"ta_id":97832,"partner_id":"id34234","partner_url":"http://partner.com/deeplink/to/id34234"}]

改為這樣做:

[{ta_id:97497,partner_id:"229547",partner_url:"http://partner.com/deeplink/to/229547"},
{ta_id:97832,partner_id:"id34234",partner_url:"http://partner.com/deeplink/to/id34234"}].

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM