我有 2 个型号:
public class Person
{
public Guid ID { get; set; }
public string Name { get; set;}
}
public class Event
{
public Guid ID { get; set; }
public string EventName { get; set; }
public virtual Person Owner { get; set; }
}
我有一个视图模型:
public class EventViewModel
{
public EventViewModel() { }
public Event EventToEdit { get; set; }
public SelectList People { get; set; }
}
我有我的控制器:
public ViewResult Create()
{
var eve = new Event();
var vm = new EventViewModel
{
EventToEdit = eve,
People = GetPeopleList(true, eve)
}
return View(vm)
}
我有我的看法:
@Html.DropDownListFor(x => x.EventToEdit.Owner, Model.People)
很明显,它们是为了阅读目的而被删减的。
当我提交我的视图并在ActionResult Create
- 它没有 Owner 的值(列表已正确填充)
- ViewModel People 也为空
使用 ViewModel 的目的是将信息传递到视图和从视图传递到控制器,所以首先为什么 People 为空。
其次,也是最重要的,为什么所有者没有得到适当的填充。有可供选择的人。事件名称将通过模型传回,因此 ViewModel 有点工作......
谢谢,