タイプicollectionのプロパティを持つモデルがあります。
public class myClass{
public string param1{get; set;}
public string param2{get; set;}
public virtual ICollection<myClass2> param3{get; set;}
public myClass()
{
param3 = new hashSet<myClass2>();
}
}
public class myClass2{
public string param4{get; set;}
public string param5{get; set;}
public virtual myClass param6{get; set;}
}
これらの2つのクラスを含むモデルをビューに渡し、次を使用してicollection内のアイテムを表示できます。foreach(var item in Model.myClass.param3)
そして、アイテムを隠しフィールドに保存して、コントローラーで取得します
foreach(var item in Model.myClass.param3){
@Html.HiddenFor(model => item.parm4);
@Html.HiddenFor(model => item.parm5);
}
しかし、フォームを送信してモデルをコントローラーに渡すと、model.myClass.param3を呼び出すときにカウント=0になります。
ICollectionをビューに渡すにはどうすればよいですか?このリンクを試しましたが、なぜ機能しないのかわかりません。
編集
リンクは、インデックスを作成するためにクラスBookをリストとして使用します(ICollectionをリストにキャストする必要があることを示唆しています)。それ、どうやったら出来るの?また、それをリストにキャストした場合、コントローラーはICollectiionを受け取ることを期待しているので、それをコントローラーに渡すにはどうすればよいですか?