我有一个 MVC3 站点,该站点将具有一个不能使用默认模型绑定(bind)的模型。我一直在查看在线代码示例,看来我可以创建一个自定义模型绑定(bind)器,它可以实现 IModelBinder 或从 DefaultModelBinder 继承。有人可以解释每种方法的优缺点,并可能举例说明何时使用一种方法而不是另一种方法。
提前致谢。
最佳答案
这两种方法实际上是相同的:DefaultModelbinder 实现 IModelBinder,因此从它继承是实现 IModelBinder 的另一种方式。
从 DefaultModelBinder 继承的优点:您可以重用 DefaultModelBinder 的许多行为,并仅覆盖您想要的行为。您不必从头开始实现。
制作您自己的 IModelBinder 实现的优点:您只有一个方法可以实现 (IModelBinder.BindModel
),并且您可以完全控制您的实现正在做什么。
正确的方法在很大程度上取决于您对自定义 Binder 的需求,但 DefaultModelBinder 的行为通常是您所需要的(在大多数情况下,普通的旧 DefaultModelBinder 确实是您想要的 Binder )。
关于c# - 何时使用 IModelBinder 与 DefaultModelBinder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8535802/