asp.net-mvc – ASP.NET MVC – 接口类型上的自定义模型绑定器

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC – 接口类型上的自定义模型绑定器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不确定此行为是否预期,但是当绑定分配给接口类型时,似乎自定义模型绑定不起作用。有没有人试过这个?
public interface ISomeModel {}
public class SomeModel : ISomeModel {}

public class MvcApplication : HttpApplication {
    protected void Application_Start(object sender,EventArgs e) {
        ModelBinders.Binders[typeof(ISomeModel)] = new MyCustomModelBinder();
    }
}

当我绑定到类型为SomeModel的模型时,上面的代码,MyCustomModelBinder永远不会被击中;但是,如果我更改上面的代码并替换typeof(SomeModel)的typeof(ISomeModel),并发布完全相同的形式MyCustomModelBinder被调用如预期。那似乎是对的吗

编辑

在我最初问这个问题之后的一年中,我发现自己陷入了困境,现在我有一个解决方案。谢谢Matt Hidinger!

http://www.matthidinger.com/archive/2011/08/16/An-inheritance-aware-ModelBinderProvider-in-MVC-3.aspx

解决方法

我不知道它是否直接相关但是有一些事情你需要考虑什么时候使用模型绑定和接口…我遇到类似的问题与默认模型绑定,但它可能不直接相关,取决于如何你在做事情…

看看以下内容
ASP.net MVC v2 – 调试模型绑定问题 – BUG?
ASP.net MVC v2 – Debugging Model Binding Issues – BUG?

猜你在找的asp.Net相关文章