对于基本视图模型属性,HttpPostedFileBase在POST上为0字节

And*_*ren 6 c# asp.net-mvc httppostedfilebase

我在视图模型上正确地发布了图像并绑定到HttpPostedFileBase属性,但是当我在视图模型的基类中放置相同的属性时,它不会对绑定字节进行建模.它仍然显示图像名称,但不显示内容流.

我测试了我能想到的一切.请帮忙!

这些图片讲述了整个故事: 在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

提前致谢.如果有什么不清楚,请告诉我.

UPDATE

我认为这是一个合法的错误.在发布SO之前,我尝试了以下所有建议(截至1/26).我还尝试过:1.将基本属性创建为虚拟并在子类中重写它2.在子类中创建一个新属性,仅获取/设置基本属性

我的解决方案远非优雅,是在子类上添加"临时"属性,而MVC操作方法中的第一件事就是将基本属性设置为它.我希望有一个真正的解决方案,我可以恢复这个修道院并做正确的修复.

小智 0

如果是我,我会为模型类创建一个 v.simple 自定义活页夹并手动启动它。这样做可能比尝试消除 DefaultModelBinder 的缺点更容易(并且对于将来的维护更明显)。此外,这意味着您不必(不必要地)污染您的模型结构/控制器操作/单元测试。

这是一篇关于如何基于默认模型绑定器创建绑定器的好文章: http://www.codeproject.com/Articles/605595/ASP-NET-MVC-Custom-Model-Binder

华泰