什么是ASP.NET MVC中的模型绑定?

时间:2013-07-18 10:56:48

标签: asp.net-mvc asp.net-mvc-4

ASP.NET MVC中的模型绑定是什么,为什么需要它?有人可以举一个简单的例子,可以通过检查创建强类型视图来实现模型绑定吗?

1 个答案:

答案 0 :(得分:20)

ModelBinding是ASP.NET MVC用于从输入流(通常是HTTP请求)创建强类型对象(或填充基本类型参​​数)的机制。

例如,请考虑此Person模型:

public class Person
{
     public string Name { get; set; }
     public int Age { get; set; }
}

现在,某些Action中有一些Controller期望Person类型作为参数:

public class HomeController : Controller
{
      public ActionResult EditPersonDetails(Person person)
      {
          // ...
      }
}

然后Model-Binder负责为您填写person参数。默认情况下,它通过查询ValueProviders集合并询问(待绑定)模型中每个属性的值来完成它。

有关http://haacked.com/archive/2011/06/30/whatrsquos-the-difference-between-a-value-provider-and-model-binder.aspx/

上的价值提供者和模型订阅者的更多信息