繁体   English   中英

如何将列表模型组合到ASP.NET MVC3中的另一个模型

[英]How to combine a list model to another model in ASP.NET MVC3

我有两个模型:

public class Model1
    {
        public int? Id { get; set; }    
        public string Name{ get; set; }
        private IList<Model2> _model2; 
    } 

  public class Model2
        {
           public string Name2{ get; set; }
        }

用于ajax调用的JSON数据:

[
  {
    "Id": 1,
    "Name": "Foo",
    "Name2": "Foo2"
  },
  {
    "Id": 2,
    "Name": "Foo3",
    "Name2": "Foo4"
  }
]

控制器动作:

public ActionResult Save(List<Model1> models)
        {
        }

这样,我不会在控制器操作中得到Name2 有什么方法可以在控制器中获取Name2

我知道可以通过创建另一个模型来解决。 例如

public class Model3
        {
            public int? Id { get; set; }    
            public string Name{ get; set; }
            private Model2 _model2; 
        } 

但是我不想创建新的模型类。 谢谢....

JSON数据应采用这种格式

[
  {
    "Id": 1,
    "Name": "Foo",
    "_model2":[{"Name2": "Foo2"}]
  },
  {
    "Id": 2,
    "Name": "Foo3",
     "_model2":[{"Name2": "Foo4"}]
  }
]

您可以像这样从Model2派生Model1。

public class Model1:Model2
{
    public int? Id { get; set; }    
    public string Name{ get; set; }        
} 

现在,您应该将Name2视为Model1中的一个属性,并且您的Json应该按原样工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM