【发布时间】:2013-07-18 10:56:48
【问题描述】:
什么是 ASP.NET MVC 中的模型绑定,为什么需要它?谁能举个简单的例子,可以通过勾选创建强类型视图来实现模型绑定吗?
【问题讨论】:
-
它是分离关注点和使事情更 OOP 方式所需要的。
什么是 ASP.NET MVC 中的模型绑定,为什么需要它?谁能举个简单的例子,可以通过勾选创建强类型视图来实现模型绑定吗?
【问题讨论】:
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/ 上有关 Value-Providers 和 Model-Binders 的更多信息
【讨论】: