Model Binder在Asp.net MVC中非常簡單。簡單的說就是你控制器中的Action方法需要參數數據;而這 些參數數據包含在HTTP請求中,
包括表單上的Value和URL中的參數等。而ModelBinder的功能就是將這些個表單上的Value和URL中的參 數換成對象,然後將這些對象綁定
到Action的參數上面。我簡單的畫了一個圖,看起來會更加直觀。
在asp.net mvc中你可以寫類似下面這樣的代碼:
[HttpPost]
public ActionResult Create()
{
Book book = new Book();
book.Title = Request.Form["Title"];
// ...
return View();
}
但是這樣的寫法是非常不可取的,因為代碼不容易閱讀,也不易測試。再看下面的寫法:
[HttpPost]
public ActionResult Create(FormCollection values)
{
Book book = new Book();
book.Title = values["Sex"];
// ...
return View();
}