dev*_*ium 13 .net c# asp.net asp.net-mvc asp.net-mvc-3
定义了一个 Model
public class HomeModel {
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Surname")]
public string Surname { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并具有以下内容 Controller
public class HomeController : Controller {
[HttpPost]
public ActionResult Index(HomeModel model) {
return View(model);
}
public ActionResult Index() {
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
一些"魔术"机制HomeModel model被ASP.NET MVC填满了值.有谁知道怎么样?
从一些基本测试中,它似乎会查看POST响应并尝试将响应对象名称与Model的属性相匹配.但要做到这一点,我想它必须使用反射?这不是继承缓慢吗?
谢谢
Ali*_*tad 11
是的,你在谈论魔术ModelBinder.
ModelBinder负责创建一个模型并使用表格后面的值进行保湿并执行验证,其结果将显示在其中ModelState.
默认实现是DefaultModelBinder,但您可以插入自己的.