ASP.NET5 MVC6:将对象从视图传递到控制器始终为null

时间:2016-06-11 00:04:47

标签: c# jquery asp.net ajax

编辑:如果我使用类型,我可以传递一些简单的数据:' GET'在ajax调用和Controller中的[HttpGET]。

但是,像我的Summary类这样的复杂数据类型仍然无效,并且所有内容都是0或NULL。

我有以下课程:

public class Summary
    {
        public int Total { get; set; }
        public double Average { get; set; }
        public int Issues { get; set; }
        public int Fixed { get; set; }
        public double FixedPercentage { get; set; }
        public double TotalPercentage { get; set; }
        public List<Issues> IssuesList { get; set; }        
    }

public class Issues
{
       public string Name {get; set;}
       public int Code {get; set;}
}

我的控制器上的以下操作:

[HttpGet]
public IActionResult GetSummary(Summary summaryBySource)
{
     Json(new
     {
         summary = "hi"
     });
}

最后,这是我用来将对象返回给Controller的ajax调用:

$.ajax({
        type: 'GET',
        dataType: 'json',
        url: '/Summary/GetSummary/',
        data: JSON.stringify(summaryBySource),
        error: function (xhr) {
            alert("Wrong");
        },
        success: function (result) {
            alert("Yeah");

        },
        async: true,
        processData: true
    });

调用ajax调用后,它会跳转到控制器函数,但其​​所有属性都为NULL。为什么会这样?

BTW:变量summaryBySource是一个全局变量,它在调用ajax调用时位于View中,它包含与Summary对象匹配的值。

另外,我尝试做同样的事情,但不是传递一个对象,只是一个哑字符串,它也返回null ...

谢谢!

编辑:summaryBySource的内容是

它将是一个对象类型和......

Total: 0
Average: 0
Issues: 2
Fixed: 1
FixedPercentage: 50
TotalPercentage: 100
IssuesList: Array[1]
    0: Object
        Name: "Crash"
        Code: 1001

0 个答案:

没有答案