我已正确发布图像并绑定(bind)到我的 View 模型上的 HttpPostedFileBase 属性,但是当我将相同的属性放在 View 模型的基类中时,它不会模型绑定(bind)字节。它仍然显示图像名称,但不显示内容流。
我已经测试了我能想到的一切。请帮忙!
这些图片讲述了整个故事:
提前致谢。如果有任何不清楚的地方,请告诉我。
更新
我认为这是一个合法的错误。在发布到 SO 之前,我尝试了以下所有建议(截至 1/26)。我也试过: 1. 将基属性创建为虚拟属性并在子类中覆盖它 2. 在子类中创建一个仅获取/设置基本属性的新属性
我的解决方案远非优雅,是在子类上添加一个“临时”属性,并在 MVC 操作方法中首先为它设置基本属性。我希望出现一个真正的解决方案,我可以恢复这个问题并进行适当的修复。
最佳答案
如果是我,我会为模型类创建一个 v.simple 自定义 Binder ,然后用手摇动它。这样做可能比尝试揭开 DefaultModelBinder 的弱点更容易(并且对于 future 的维护更明显)。此外,这意味着您不必(不必要地)污染您的模型结构/ Controller 操作/单元测试。
这里有一篇关于如何基于默认模型 Binder 创建 Binder 的好文章:http://www.codeproject.com/Articles/605595/ASP-NET-MVC-Custom-Model-Binder .
HTH
关于c# - 对于基本 View 模型属性,HttpPostedFileBase 在 POST 上为 0 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28139082/