次のシナリオがあります。
- Edit/Employee ビューに Entity Framework エンティティ (Employee) からのモデルが取り込まれています
- Edit/Employee から Save/Employee コントローラ アクションに投稿します。Save/Employee アクションは、プロパティとして Employee を持つ別のタイプ (EmployeeSave) を想定しています。
これは Edit/Employee メソッドです
public ActionResult Edit(EmployeesEdit command)
{
var employee = command.Execute();
if (employee != null)
{
return View(employee);
}
return View("Index");
}
これは、Save/Employee メソッドです。
public ActionResult Save(EmployeesSave command)
{
var result = command.Execute();
if (result)
{
return View(command.Employee);
}
return View("Error");
}
これは EmployeeSave クラスです
public class EmployeesSave
{
public bool Execute()
{
// ... save the employee
return true;
}
//I want this prop populated by my model binder
public Employee Employee { get; set; }
}
MVC DefaultModelBinder は、Employee クラスと EmployeeSave クラスの両方を解決できます。