私は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
- 所有者の値がありません (リストは正しく設定されています)
- ViewModel People も null です
ViewModel を使用するポイントは、ビューとの間で情報をコントローラーに運ぶことです。
第二に、そして最も重要なことは、一体なぜ Owner が適切に設定されていないのかということです。選ぶ人がいます。イベント名はモデルを介して返されるため、ViewModel は多少機能しています...
ありがとう、