13

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

4

1 回答 1

20

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

例如,考虑这个Person模型:

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

现在,您有一些Action期望ControllerPerson类型作为参数:

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/

于 2013-07-18T11:29:13.677 回答