在ASP.NET 5.0中绑定和覆盖模型类型

时间:2015-03-23 14:12:18

标签: model-binding asp.net-core asp.net-core-mvc

以前版本的ASP.Net公开了可继承的类System.Web.Mvc.DefaultModelBinder,它允许方法CreateModel以返回传入请求应绑定到的模型的类型。 。对于不同的基类使用单个方法非常方便。

版本5中不存在。您可以通过继承IModelBinder轻松创建活页夹 - 在BindModelAsync中无法设置模型类型。您可以设置ModelMetadata.Model(我相信它将是目标类型的实例化),但是我不清楚如何设置我认为需要的元数据本身。

基本上我正试图问this question更新的框架。

1 个答案:

答案 0 :(得分:1)

这个问题原来是基于一种误解。 WebAPI堆栈从未有过DefaultModelBinder,即MVC堆栈。有这么多的命名重叠,令人困惑的是哪个;这是ASP.Net 5.0试图克服的东西。

这个问题的答案 - 如何绑定到与方法参数中指定的模型不同的模型 - 涉及使用Json.NET库。两种不同技术的概述可以是found in this answer

这也非常适合ASP.Net 5.0。