0
我正在开发使用ASP.NET MVC web应用程序,我有两个实体是这样的:如何从模型绑定集合查看MVC剃刀
[DataContract]
public class Entity1 : IEntity<int>
{
[DataMember(Name="id")]
public int Id {get; set;}
[DataMember(Name="name")]
public string Name {get; set;}
[DataMember(Name="list")]
public ICollection Entity2Collection {get; set;}
}
[DataContract]
public class Entity2 : IEntity<int>
{
[DataMember(Name="id")]
public int Id {get; set;}
[DataMember(Name="name")]
public string Name {get; set;}
[DataMember(Name="entity3id")]
public int Entity3ObjId {get; set;}
public Entity3 Entity3Obj {get; set;}
}
并在控制器动作,我有以下:
[HttpPost]
public ActionResult Edit(Entity1 entity)
{
if(ModelState.IsValid){
await repository.updateAsync(entity);
}
return View();
}
在实体参数,属性Entity2Collection总是空的,我不知道我错过了什么,因为我有这样的观点
@Html.HiddenFor(model => model.Entity2Collection)
但是当我发布Post请求时它总是空。我希望有一点帮助。
工程时是显示您在哪里如何设置Entity1.Entity2Collection值的代码? –
我在哪里以及如何设置entity.Entity2Collection中的值是我需要知道的。如果我使用Knockout viewmodel,我必须在Entity1模型中声明一个名为“list”的属性作为DataMember指示。但是,如果我不使用Knockout viewmodels我必须这样做吗?这是我面临的问题。 –
必须在动作内完成 –