私は2つのクラスを持っています:
public class Exercise
{
public Guid Id {get;set;}
public string Name {get;set;}
public List<ExerciseItem> Items {get;set;}
}
public class ExerciseItem
{
public Guid Id {get;set;}
public string Name {get;set;}
public string Content {get;set;}
}
また、Exercise オブジェクトを作成するための私の見解もあります。そのビューには「エクササイズ項目を追加」という名前のボタンがあり、ここで動的に ajax メソッドを呼び出して、ExerciseItem オブジェクトの部分ビューを返します。ビューは正しく返されます。このビューは次のとおりです。
@model Elang.Models.ExerciseItem
<div>
<input type="hidden" name="Items.Index" value="@Model.Id" />
<input type="hidden" id="Items@(Model.Id)__Id" name="Items[@Model.Id].Id" value="@Model.Id" />
<input type="text" id="Items@(Model.Id)__Content" name="Items[@Model.Id].Content" class="inputText"/>
</div>
問題は、フォームを送信して「Create」メソッドが呼び出されたときです。
[HttpPost]
public ActionResult Create(Exercise exercise)
{
//add exercise to db
//HOWEVER!!
//exercise.Items is empty
}
私のアイテムはnullです。私は何を間違っていますか?問題を解決するにはどうすればよいか、誰かアドバイスをいただけますか?