私は2つのクラスを持ち、最初のクラスにはListが含まれています。 VIEWはモデルとしてListを受け取ります。 私はビューを投稿すると、コントローラ内でそれぞれの単純なプロパティを取得できます。ただし、List <>はサブモデルでは常にnullです。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になるので、複雑な型をコントローラに渡すことはできません。おそらくこれは、クエリ文字列が他のさまざまな理由の中で長すぎる可能性があるためです。 –