簡體   English   中英

將對象數組發送到MVC控制器

[英]Send array of Objects to MVC Controller

我嘗試將一個json對象數組發送到服務器:

var objectData = [
    {  Description: "Bezeichnung", Value: "1", Name: "Betrag (Brutto)" },
    { Description: "Dies ist die erste Bezeicnung", Value: "101", Name: "11,90" },
    { Description: "Dies ist die zweite Bezeicnung", Value: "12", Name: "11,90" }
];

$.ajax({
    url: "/system/createinvoice",
    data: JSON.stringify({ pos: objectData }) ,
    dataType: 'json',
    type: 'POST',
});

C#

public class InvoicePos
{
    public string Description { get; set; }
    public Nullable<double> Value { get; set; }
    public string Name { get; set; } 
}

[POST("/system/createinvoice")]
public void newquestion2(InvoicePos[] pos)
{
   // pos is always null       
}

dataType屬性表示您希望從服務器返回的內容。 嘗試設置contentType

contentType: 'application/json'

嘗試

data: JSON.stringify({ pos: @objectData })

另外,通過瀏覽器檢查View中正在呈現的內容。 您獲得null的原因很可能是因為JavaScript沒有獲得正確的值。

function SendArrayOfObjects(){var things = [{id:1,color:'red'},{id:2,color:'blue'},{id:3,color:'yellow'}];

          $.ajax({
            type: "POST",
            url: "<%= ResolveUrl("~/MyServices.aspx/GetData")%>",
              data: JSON.stringify({ objdata: things }),
            contentType: "application/json;charset=utf-8",
            dataType: "json",
            success: function()
            {
                $("#msg").html("data sent successfully!");
            },
            error: function()
            {

                $("#msg").html(" Can not send data!");
            }
        });


    }

暫無
暫無

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

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