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();
}
时间: 2024-10-02 18:01:24