Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 具有两个构造函数的复杂类型JSON post_Jquery_Asp.net Mvc_Json - Fatal编程技术网

Jquery 具有两个构造函数的复杂类型JSON post

Jquery 具有两个构造函数的复杂类型JSON post,jquery,asp.net-mvc,json,Jquery,Asp.net Mvc,Json,我试图向MVC控制器发送JSON帖子;我的类型是这样的: public class A { public string Name { get; set; } public List<B> list { get; set; } public class B { public string Name { get; set; } public B(C c) { ...

我试图向MVC控制器发送JSON帖子;我的类型是这样的:

public class A
{
    public string Name { get; set; }
    public List<B> list { get; set; }

    public class B
    {
        public string Name { get; set; }

        public B(C c)
        {
            ...
        }

        public B(D d)
        {
            ...
        }
    }
}
如果B的构造函数是一个普通的构造函数,那么一切都很好,但是对于我的逻辑,B只能有C或D对象,而不是两者都有。但这样我就不能做post了


有没有办法为类型B对象发布JSON帖子?

您是否尝试过创建自定义模型绑定器?请参阅此讨论:。这无法解决此问题,默认模型绑定器需要无参数构造函数。
var A = {};
var B = {};
A.Name = "testRe";

A.list = [];
B.Name = "testCat1";
A.list.push(B);
B = {};
B.Name = "testCat2";
A.list.push(B);

$.ajax({
    url: "/ExportModels/saveRelease",
    contentType: 'application/json',
    dataType: 'json',
    type: "POST",
    data: JSON.stringify(A)
}).done(function (result) {

});