【发布时间】:2023-03-17 20:08:01
【问题描述】:
谁能告诉我在 global.asax 中使用 [ModelBinder()] 属性与通过 ModelBinders.Add() 注册模型绑定器的优点/缺点?
我能想到的一个优点是它更明确,而在全局 ModelBinders 中注册对于检查操作方法的人来说并不那么明显。
我能想到的一个权衡是它不可重用,因为您必须将此属性添加到需要使用此模型绑定器的所有操作方法中,而在全局 ModelBinders 中注册将使其可用于所有操作接收该模型的方法。
这是唯一的区别吗?
换句话说,这样说是否正确:
- 如果您只在一种操作方法中使用模型(可能是两种,get + post),请使用
[ModelBinder()]。 - 如果您在多个操作方法中使用模型,则将其注册到全局
ModelBinders。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4