第二次调用页面时,文件不存在

时间:2014-05-13 13:27:13

标签: asp.net .net asp.net-mvc asp.net-mvc-4 razor

我有如下文件浏览按钮,大多数验证都是在UI中使用模型注释完成的,但其中一些是在动作中完成的(在控制器中)。

在这种情况下,当我转到控制器并进行验证并将错误发送到页面时,在UI中您会看到没有选择文件的消息(我想是因为它第二次调用以下代码),我该如何避免?

谢谢,

<div class="form-group">
            @Html.LabelFor(model => model.Sat, new { @class = "control-label col-md-2" })
            <div class="col-md-10"> 
 <input type="file" name=@SConstants.SAFile />
            @Html.ValidationMessageFor(model => model.Sa)
            </div>
        </div>

1 个答案:

答案 0 :(得分:0)

当你进行验证往返时,上传的文件会丢失。即使您以某种方式保留它,您也无法为安全原因设置文件上载控制的值,如这些答案中所述: File upload answer 1File upload answer 2

解决方法是使用客户端验证。如果您使用的是jQuery,可以在这些示例中查看jQuery验证:Sample1Sample2