如何在ASP.NET MVC中验证失败后保持输入类型=文件字段值?

Cha*_*eus 61 forms asp.net-mvc

我在我制作的MVC应用程序中有一个简单的表单.它包含一个文件字段,因此用户可以上传图像.这一切都很棒.

问题是,如果表单提交未通过验证,文件字段的内容将丢失(其他字段仍然填充,thx HtmlHelpers!).验证失败后如何保留文件字段?

TIA!

Ale*_*yev 58

由于安全风险,浏览器以这种方式设计.在HTML源代码中或通过Javascript设置文件输入框的值是不可能的.否则,恶意脚本可能会在没有用户注意的情

一个有趣的信息有关的主题.

  • 要修复用户必须重新选择文件的UX问题:首次提交带有set文件的表单时,可以将文件存储在服务器端的临时缓存中.然后,如果验证失败,您只需显示文件名(或缩略图)以指示该字段已设置.验证成功后,您将从缓存中获取文件数据. (9认同)
  • @tsauerwen,很好地击败了MVC无状态模型的目的. (8认同)