Welcome 微信登录

首页 / 网页编程 / ASP.NET / Asp.net MVC2中你必须知道的扩展点(二):Model Binder

Asp.net MVC2中你必须知道的扩展点(二):Model Binder2011-08-15 博客园 麒麟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();
}