我有两个类,第一个包含一个List。 VIEW作为模型接收列表。 当我发布视图时,我可以在控制器中检索每个简单属性。但列表<>对于子模型始终为空。DotNet MVC包含列表的复杂对象的绑定列表
这两个类:
public class MyModel
{
public int ModelId {get;set;}
public string Description {get;set;}
public List<SubModel> SubModels {get;set;}
}
public class SubModel
{
public int MySubModelId {get;set;}
public string Description {get;set;}
}
在视图页面收到该模型
@model List<MyModel>
继互联网上的建议,我创造了一个editorfor编辑器渲染视图我的课:
@model MyModel
<tr id="@Model.ModelId">
@Html.HiddenFor(m => m.ModelId)
@Html.HiddenFor(m => m.Description)
<td>@Model.Description</td>
</tr>
@for(int i = 0; i < Model.SubModels.Count; i++)
{
// How to render the class here to be able to be post in the controller?
// @Html.HiddenFor(m => m.SubModels[i]) will not work of course...
}
请向我们展示您的控制器以及此请求管道中的任何其他代码。 –
没有看到控制器,很难说。但我相信你不能将复杂的类型传递回控制器,因为它通常会导致null。据推测,这是因为查询字符串可能由于其他各种原因而过长 – 2016-12-29 15:21:29