簡體   English   中英

將ajax中的復雜對象發送到MVC

[英]Sending complex object in ajax to MVC

發送復雜對象時, List<Order> null在我的控制器操作方法中返回null 有人可以幫助確定問題嗎? 我們需要傳遞帶索引的對象數組嗎?

JavaScript的

function OnCustomerClick() {
    //var orders = [];
    //orders.push({ 'OrderId': '1', 'OrderBy': 'Saroj' });

    var complexObject = {
        FirstName: 'Saroj',
        LastName: 'K',
        //Orders : orders
        Orders: [{ OrderId: 1, OrderBy: 'Saroj' }, { OrderId: 2, OrderBy: 'Kumar' }]
    };

    var obj = { customer: complexObject };
    var data2send = JSON.stringify(obj);

    $.ajax({
        type: "POST",
        url: 'Home/TestCustomer1',
        data: data2send,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (arg) { //call successfull
        },
        error: function (xhr) {
            //error occurred
        }
    });
};

MVC

 public ActionResult TestCustomer1(Customer customer)
    {
        return Json(customer);
    }

C#

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    List<order> Orders { get; set; }
}

public class order
{
    public int OrderId { get; set; }
    public string  OrderBy { get; set; }
}

您需要使用公共屬性進行模型綁定。 Orders目前沒有訪問修飾符,因此它是私有的。

public class Customer
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<order> Orders { get; set; } // <----
}

除此之外,一切看起來都很好。

暫無
暫無

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

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