C# 如何在ASP.NET MVC3中将列表模型组合到另一个模型
我有两种型号:C# 如何在ASP.NET MVC3中将列表模型组合到另一个模型,c#,asp.net-mvc,asp.net-mvc-3,model,C#,Asp.net Mvc,Asp.net Mvc 3,Model,我有两种型号: 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; }
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; }
}
控制器操作:
public ActionResult Save(List<Model1> models)
{
}
但我不想创建新的模型类。
谢谢……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应该按原样工作。
“\u model2”:[{“Name2”:“Foo2”}]
我正在使用JS插件从excel读取数据,它以该格式返回数据…..我应该在客户端将数据转换为您建议的格式吗?我建议按照您的指示创建视图模型(您的Model3
)会更容易然后将其映射回控制器中的Model1
。能否提供一种将我的JSON数据转换为建议格式的方法?如何创建此JSON数据?我在代码中看不到基类;即使你拥有它,你也能做到这一点;公共类Model1:MyBaseClass,model2是的,这里没有提到基类。如果我添加Model1:MyBaseClass,Model2
,我将面临错误Model1不能有多个基类
。只有当您已经从接口派生时,才能执行上述操作。@KosalaW您试图证明什么?
[
{
"Id": 1,
"Name": "Foo",
"_model2":[{"Name2": "Foo2"}]
},
{
"Id": 2,
"Name": "Foo3",
"_model2":[{"Name2": "Foo4"}]
}
]
public class Model1:Model2
{
public int? Id { get; set; }
public string Name{ get; set; }
}