关键词:
【中文标题】模型绑定不适用于嵌套对象【英文标题】:Model binding not working for nested object 【发布时间】:2019-08-27 11:26:34 【问题描述】:我正在尝试在我的模型中绑定从邮递员发布的模型中的数据:
public class VariantModel
public int Id get; set;
public List<SubvariantModel> Subvariants get; set;
public class SubvariantModel
public int Id get; set;
public string Description get; set;
public IFormFile Document get; set;
每个属性都被填充,但只有 Document
属性变为空,如您在此处看到的:
但令人惊讶的是,当我检查 http 请求对象时,我看到了该文件:
这就是我从 POSTMAN 发布数据的方式:
代码:
[HttpPost]
public void Post([FromForm]VariantModel emp)
var d = HttpContext.Request;
谁能告诉我这里可能是什么问题?
更新:
【问题讨论】:
你的键名很奇怪。名字应该是Subvariants[0].Document
,而不是Subvariants[0][Document]
。令人惊讶的是,这实际上适用于Id
和Description
,但也许出于某种原因它根本不适用于IFormFile
。看起来很奇怪,但老实说我没有看到任何其他问题。
@ChrisPratt 我也尝试过这样的 Subvariants[0].Document 但仍然为空,是的,确实我也没有得到这里的问题。这是 asp.net webapi 核心中的错误吗模型粘合剂?
一点也不。这是非常的基本代码,我几乎就像这样运行代码。只要帖子正文中的名称遵循正确的绑定约定(这些约定似乎如此),它就会绑定。
@ChrisPratt 那为什么现在不起作用。可能是您没有在嵌套模型中使用 IFormFile。有什么解决方案吗?
我刚刚用ASP.NET Core 2.0
测试了你的代码,一切对我来说都很好。您能否在 github 上分享您的项目并分享您通过 postman 执行的请求?
【参考方案1】:
这也是我遇到的问题。在 .NET Core v2.2 中将 IFormFile 作为视图模型属性嵌套是一个已知问题。
对我有用的修复是here。
【讨论】:
knockout.js remove 不适用于主视图模型中的嵌套视图模型和视图模型
】knockout.jsremove不适用于主视图模型中的嵌套视图模型和视图模型【英文标题】:knockout.jsremovedoesn\'tworkwithnestedviewmodelandviewmodelinmainviewmodel【发布时间】:2017-09-0116:11:08【问题描述】:<divdata-bind="with:SimpleListModel"><formdata-bi... 查看详情
猫鼬选择:假不适用于位置嵌套对象
】猫鼬选择:假不适用于位置嵌套对象【英文标题】:Mongooseselect:falsenotworkingonlocationnestedobject【发布时间】:2016-09-0401:48:12【问题描述】:我希望我的架构的location字段默认隐藏。我给它添加了select:false属性,但是选择文档时总... 查看详情
Formik 收音机不适用于嵌套对象值
】Formik收音机不适用于嵌套对象值【英文标题】:Formikradionotworkingwithnestedobjectvalues【发布时间】:2020-12-2101:54:20【问题描述】:我正在使用Formik。当我尝试使用嵌套对象为我的初始值渲染单选按钮时,根据他们在此处的文档:ht... 查看详情
模型绑定不适用于angular2中的选择[重复]
】模型绑定不适用于angular2中的选择[重复]【英文标题】:modelbindisnotworkingwithselectinangular2[duplicate]【发布时间】:2016-08-1410:18:06【问题描述】:我正在尝试设置下拉菜单的默认值,我为模型设置了默认值但它没有更新选择请看http... 查看详情
Spring JPA 更新不适用于嵌套对象
】SpringJPA更新不适用于嵌套对象【英文标题】:SpringJPAUpdatenotworkingonnestedobjects【发布时间】:2018-11-0414:54:40【问题描述】:我在使用SpringrestJPA(PUT方法)更新数据库数据时遇到问题。当我执行POST请求以插入数据时,它工作得很... 查看详情
模型绑定不适用于 ASP.NET Core 2 WebAPI 中的 POST 请求
】模型绑定不适用于ASP.NETCore2WebAPI中的POST请求【英文标题】:ModelbindingisnotworkingonPOSTrequestinASP.NETCore2WebAPI【发布时间】:2018-03-2700:09:39【问题描述】:这是我的模型。publicclassPatientpublicstringNameget;set;publicstringGenderget;set;publicdouble... 查看详情
ASP.NET Web API - 模型绑定不适用于 POST 上的 XML 数据
】ASP.NETWebAPI-模型绑定不适用于POST上的XML数据【英文标题】:ASP.NETWebAPI-ModelBindingnotworkingwithXMLdataonPOST【发布时间】:2012-10-1004:36:43【问题描述】:在使用带有ASP.NETWebAPI的XML数据进行POST时,我无法让模型绑定工作。JSON数据工作... 查看详情
客户端验证不适用于重用和嵌套的复杂属性
...序,我尝试在.cshtml文件的不同位置重用嵌套的复杂视图模型类。重用的复杂视图模型命名为SchoolPersonViewModel,有很多属性,Phone和 查看详情
MVC4 webapi中的反序列化/模型绑定不适用于数组
】MVC4webapi中的反序列化/模型绑定不适用于数组【英文标题】:Deserialization/modelbindinginMVC4webapidoesnotworkwitharrays【发布时间】:2012-03-2411:18:02【问题描述】:我正在使用新的WebApi,它是MVC4测试版的一部分。我有以下课程:publicclass... 查看详情
MakeValid 不适用于单个模型对象
】MakeValid不适用于单个模型对象【英文标题】:MakeValidnotworkingforasinglemodelobject【发布时间】:2018-01-2407:42:22【问题描述】:我正在尝试使用MakeValid来修复(验证)我的几何字段。我可以通过单行获取和更新来使其工作:fromdjango.... 查看详情
RxUI ObservableAsPropertyHelper 不适用于 XAML 绑定
...发布时间】:2015-03-2801:51:46【问题描述】:我有以下视图模型类(基于RxUIdesignguidelines):publicclassSomeViewModel:ReactiveObjectprivatereado 查看详情
wxlua 绑定不适用于我使用 SWIG 制作的着色器对象
】wxlua绑定不适用于我使用SWIG制作的着色器对象【英文标题】:wxluabindingsdoesnotworkwithmyshaderobjectsmadeusingSWIG【发布时间】:2009-11-0605:44:59【问题描述】:我用wxwdigets做了一个类//wrapperoverwxIPV4addressclassIPV4addressLua:publicwxIPV4addresspubli... 查看详情
模型绑定不适用于 asp.net 核心 Web api 控制器操作方法中的 Stream 类型参数。(即使使用自定义流输入格式化程序)
】模型绑定不适用于asp.net核心Webapi控制器操作方法中的Stream类型参数。(即使使用自定义流输入格式化程序)【英文标题】:ModelbindingnotworkingwithStreamtypeparameterinasp.netcorewebapicontrolleractionmethod.(Evenwithcustomstreaminputformatter)【发布... 查看详情
嵌套标题不适用于 Handsontable 反应组件
】嵌套标题不适用于Handsontable反应组件【英文标题】:NestedHeaderisnotworkingonHandsontablereactcomponent【发布时间】:2018-12-2600:42:21【问题描述】:我正在使用@handsontable/react组件。我无法为表格提供嵌套标题。我不确定这个插件是否支... 查看详情
Prerender SPA 插件不适用于嵌套路由
】PrerenderSPA插件不适用于嵌套路由【英文标题】:PrerenderSPAPlugindoesnotworkwithnestedroutes【发布时间】:2018-04-0608:52:56【问题描述】:我正在使用Vue2、Webpack、vue-router和PrerenderSpa插件。我在尝试预渲染嵌套路由时遇到了问题。该插件... 查看详情
嵌套 url 不适用于 Django REST 框架
】嵌套url不适用于DjangoREST框架【英文标题】:NestedurlsarenotworkingwithDjangoRESTframework【发布时间】:2014-12-3106:48:01【问题描述】:url.pyrouter.register(r\'Costumers\',CostumerViewSet,base_name=\'costumer\').register(r\'Agreements\',AgreementVi 查看详情
为啥此模型绑定在 Razor 页面中不起作用
】为啥此模型绑定在Razor页面中不起作用【英文标题】:WhythisModelBindingnotworkinginRazorPage为什么此模型绑定在Razor页面中不起作用【发布时间】:2022-01-1108:06:17【问题描述】:我正在使用带有简单示例的ASP.NETCore3.1来测试模型绑定... 查看详情
嵌套组件不适用于 Angular 中的路由
】嵌套组件不适用于Angular中的路由【英文标题】:Nested-ComponentsnotworkingwithRoutinginAngular【发布时间】:2020-12-2318:20:44【问题描述】:我正在尝试在自己的项目中学习角度,我从处理路由路径:/开始,即在(app.routing.module.ts)中渲染... 查看详情