Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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
C# ASP.NET模型绑定器无法绑定包含集合的复杂对象的集合_C#_Asp.net Mvc_Json_Extjs_Model Binding - Fatal编程技术网

C# ASP.NET模型绑定器无法绑定包含集合的复杂对象的集合

C# ASP.NET模型绑定器无法绑定包含集合的复杂对象的集合,c#,asp.net-mvc,json,extjs,model-binding,C#,Asp.net Mvc,Json,Extjs,Model Binding,我通过对mvc控制器的ajax调用来使用json。JSON包含一个属性just和int,另一个属性是对象的集合,对象本身有其他对象的集合,而其他OJBECT的属性是promitive类型。问题是,如果我只使用json复杂对象集合模型绑定器的第二个属性,并将其绑定到模型,那么当我将该对象集合与原始int模型绑定器一起提交时,只会绑定int属性,second属性只是空集合。我使用extjsajax调用。我试着用params属性和jsonData属性提交json,但什么都不管用?这个问题的最佳解决方案

我通过对mvc控制器的ajax调用来使用json。JSON包含一个属性just和int,另一个属性是对象的集合,对象本身有其他对象的集合,而其他OJBECT的属性是promitive类型。问题是,如果我只使用json复杂对象集合模型绑定器的第二个属性,并将其绑定到模型,那么当我将该对象集合与原始int模型绑定器一起提交时,只会绑定int属性,second属性只是空集合。我使用extjsajax调用。我试着用params属性和jsonData属性提交json,但什么都不管用?这个问题的最佳解决方案是什么。任何帮助都将受到感谢

public class ModelToBind
{
    public int IntParam { get; set; }
    public IEnumerable<CompexObject> ComplexObjectParam { get; set; }
}

public class CompexObject
{
    public int AnotherIntProp { get; set; }
    IEnumerable<AnotherComplexObject> AnotherComplexObject{ get; set; }
}

public class AnotherComplexObject
{
    // some primitive properties here
}

public JsonData DoSomething(ModelToBind model)
{
    model.IntParam; // this property is binded
    model.ComplexObjectParam; // this is binded as empty collection
}

您的操作参数是什么

从逻辑上讲,如果您想绑定{int-Object},您应该有一个c类型,其属性与

public class MyType{
     public int MyPrimitive{get;set;}
     public MyOtherType ComplexType{get;set;}
}
并将此类型作为操作的参数。
当然,其他场景也是可能的,但我们需要有关您的操作的更多信息。

您的操作参数是什么

从逻辑上讲,如果您想绑定{int-Object},您应该有一个c类型,其属性与

public class MyType{
     public int MyPrimitive{get;set;}
     public MyOtherType ComplexType{get;set;}
}
并将此类型作为操作的参数。
当然,其他场景也是可能的,但我们需要关于您的操作的更多信息。

请发布您的代码。这是核心@MaessPost您的javascript和view Please。这很可能是javascript问题吗?因为我觉得所有的东西都被贴得很安静,这是一个模型绑定器的问题。我不能发布javascript。为什么你需要视野?I@MaessIt您发布数据的方式可能存在问题,因此希望查看js或查看代码。请发布您的代码。这是核心@MaessPost-your-javascript和view-pleses,这很可能是javascript问题吗?因为我觉得所有的东西都被贴得很安静,这是一个模型绑定器的问题。我不能发布javascript。为什么你需要视野?I@MaessIt这可能是因为您发布数据的方式有问题,因此希望查看js或查看代码。事实并非如此。请看编辑,我已经发布了一些代码你有一个集合,它不仅仅是一个类型,我们需要看到客户端。从逻辑上讲,可以像ComplexObjectParam[0]一样发布集合。属性=。。。COmplexObjectParam[1]。属性=情况并非如此。请看编辑,我已经发布了一些代码你有一个集合,它不仅仅是一个类型,我们需要看到客户端。从逻辑上讲,可以像ComplexObjectParam[0]一样发布集合。属性=。。。COmplexObjectParam[1]。属性=