如果我覆盖DefaultModelBinder.BindModel()甚至实现IModelBinder.BindModel(),我一直在阅读MVC 3 source code试图理解我应该遵循的语义。
我不清楚“状态”BindModel()应该在完成其工作后留下其他对象。当然,它假设返回一个表示ValueProvider数据的一些解释的值,但它应该具有哪些副作用?例如:
DefaultModelBinder在其管道中内置了如此多的语义,它会覆盖任何感觉非常危险的东西(即我觉得我不能在不违反Liskov principle的情况下覆盖任何内容)。缺乏文档无济于事。
答案 0 :(得分:0)
如果你需要自定义绑定,我会实现IModelBinder接口并执行构建对象所需的操作。