【问题标题】:C# ASP.Net Core Keeping the submitted file(s) after form submit failureC# ASP.Net Core 在表单提交失败后保留提交的文件
【发布时间】:2021-11-11 11:03:17
【问题描述】:
如果(!ModelState.IsValid) 为真,由于其他字段中的一些无效值,我希望将上传的文件保留在<input type="file" /> 字段中,并且验证错误消息会显示在视图中。表单提交失败后文本字段值仍然存在,但上传的文件从文件输入字段中消失。
我一直在寻找解决方案,但还没有找到。如果有人对此问题有解决方案或建议,我将不胜感激。
【问题讨论】:
标签:
c#
asp.net-mvc
forms
asp.net-core
【解决方案1】:
你不能。表单提交的响应是一个全新的页面,HTML 页面不能在文件输入中预先选择文件,因为这会带来巨大的安全风险。
根据您要执行的操作,您也许可以使用 AJAX / Fetch 来提交您的表单,这样可以避免重新加载页面。但是,您需要通过 Javascript 完全控制该过程 - 如果提交成功则重定向,如果提交失败则显示错误消息等。