28

我正在寻找一组在实施时使用的最佳实践IModelBinder

我已经阅读了三本不同的 MVC 书籍,每一本在它们的实现中都做了一些稍微不同的东西,没有任何真正的解释。

  • Hanselman、Haack、Guthrie、Conery 书中甚至没有提到IModelBinder
  • 巴勒莫建议扩展DefaultModelBinder而不是直接实现IModelBinder,但我真的不知道如何利用这些好处
  • Sanderson 提到更新现有的 Model 实例,以及呼吁ModelState.SetModelValue()遵循约定。

我只是想确保我的模型绑定器遵循约定,并且我正确理解整个ModelBindingContext.

有什么技巧、窍门、好的教程可以推荐吗?

4

4 回答 4

10

K Scott Allen 有一些关于模型绑定的提示:http: //odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx

于 2009-10-11T12:15:26.940 回答
2

我继承自 DefaultModelBinder,因为它会自动绑定实体中的基本属性。我对其进行了增强,因此它还绑定了导航属性。我的活页夹首先执行继承绑​​定,然后在表单中搜索其他导航属性值。我认为你的方法应该取决于你真正想做的事情。您还可以使用反射器并查看默认活页夹背后的真正含义。这可能会说服你继承。

于 2009-10-11T13:44:36.287 回答
2

Travis Illig 最近写了一篇关于创建自定义模型绑定器时数据类型验证的非常好的博客文章。

我以前从未见过这个建议,我认为它非常好 - 所以我想提供这个链接: http: //www.paraesthesia.com/archive/2012/01/31/data-type-validation-and-模型绑定在-asp-net-mvc.aspx

于 2012-02-25T06:49:19.520 回答
0

MVC Futures 2 有一个可扩展的模型绑定系统您可以在http://aspnet.codeplex.com/releases/view/41742上的发布文档中找到更多信息

只需下载“ASP.NET MVC 2 Futures 可扩展模型绑定器文档”

于 2010-08-10T06:30:52.340 回答