私は次のviewModelを持っています:
namespace Flashcard.Models
{
public class CreateCardViewModel
{
[HiddenInput(DisplayValue = false)]
public int SetId { get; set; }
[Required]
public ICollection<Side> Sides { get; set; }
}
}
カードコントローラーに対してこのViewModelを使用します。
public class CardController : Controller
{
//
// GET: /Card/
public ActionResult Create(int setId)
{
var model = new CreateCardViewModel();
var side = new Side() {Content = "Blank Side"};
model.SetId = setId;
model.Sides.Add(side);
return View(model);
}
}
ただし、Createアクションを呼び出すと、model.Sidesがnullであるため、nullReferenceExceptionが発生します。これは、空と同じではないようです。ViewModelで空のICollectionサイドを作成したと思います-コントローラーでnullになるのはなぜですか?
状況によっては、カードは1つまたは複数の面を持つことができます。カードが作成されるたびに常にサイドを追加しようとしています。