2013-07-18 29 views
12

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

+0

检查:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an -entity-framework-data-model-for-an-asp-net-mvc-应用程序 – FSou1

+0

需要分离问题并使事情更符合OOP方式。 – DarthVader

+0

[ASP.NET MVC 3 Model Binding Resources]的重复(http://stackoverflow.com/questions/5692964/asp-net-mvc-3-model-binding-resources) – CodeCaster

回答

17

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

例如,考虑这个Person模式:

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

现在,你有一些Controller一些Action该公司预计,一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/