以前版本的ASP.Net公开了可继承的类System.Web.Mvc.DefaultModelBinder
,它允许方法CreateModel
以返回传入请求应绑定到的模型的类型。 。对于不同的基类使用单个方法非常方便。
版本5中不存在。您可以通过继承IModelBinder
轻松创建活页夹 - 在BindModelAsync
中无法设置模型类型。您可以设置ModelMetadata.Model(我相信它将是目标类型的实例化),但是我不清楚如何设置我认为需要的元数据本身。
基本上我正试图问this question更新的框架。
答案 0 :(得分:1)
这个问题原来是基于一种误解。 WebAPI堆栈从未有过DefaultModelBinder,即MVC堆栈。有这么多的命名重叠,令人困惑的是哪个;这是ASP.Net 5.0试图克服的东西。
这个问题的答案 - 如何绑定到与方法参数中指定的模型不同的模型 - 涉及使用Json.NET库。两种不同技术的概述可以是found in this answer。
这也非常适合ASP.Net 5.0。