我有以下视图模型:
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 操作时,我得到一个 nullReferenceException,因为 model.Sides 为 null,这似乎与空不同。我相信我在 ViewModel 中创建了一个空的 ICollection Sides - 为什么它在控制器中为空?
在某些情况下 - 一张卡片可以有一个或多个面。每当创建卡片时,我都会尝试添加一面。