0

我正在更新旧的 ASP.NET MVC 应用程序以使用 4.0 框架,但我不确定如何处理自定义 ModelBinders。它们扩展了 Microsoft.Web.Mvc.DataAnnotations.DataAnnotationsModelBinder,在 4.0 中似乎不存在,它们在 global.asax 中注册。

实现特定绑定验证规则的最佳方式是什么?我应该继续使用自定义模型绑定器吗?如果是这样,我应该继承(或装饰)的默认活页夹是什么?或者我应该创建自定义验证属性吗?或者是其他东西?

4

1 回答 1

0

我应该继续使用自定义模型绑定器吗?

如果不解释您的应用程序做了什么以及为什么之前需要这个自定义模型绑定器,就不可能说出来。

如果是这样,我应该继承(或装饰)的默认活页夹是什么?

默认模型绑定器是:System.Web.Mvc.DefaultModelBinder它实现了IModelBinder接口,但您在创建自定义模型绑定器时很少需要直接实现接口,因为默认模型绑定器已经包含很多功能。

或者我应该创建自定义验证属性吗?

如果您正在进行验证,您确实可以创建从ValidationAttribute或某些现有数据注释派生的验证属性。或者,如果您像我一样可以使用FluentValidation.NET

所以,正如你所看到的,这一切都取决于。

于 2012-08-16T17:19:56.240 回答