页面刷新后,在 ASP.Net MVC 视图中保留输入类型文件的值



我在MVC视图表单中使用了一个输入类型文件,其值被发布到操作方法以执行一些验证。输入文件值绑定到模型中的属性,该属性将在页面刷新后返回。但是页面刷新后文件值不会自动绑定。请在下面找到代码。

这是我的视图代码。

@model WebApplication10.Models.Model1
<h2>HtmlToPDF</h2>
@using (Html.BeginForm("HtmlToPDF", "Home", FormMethod.Post, new { enctype = 
"multipart/form-data" }))
{
<table>
<tr>
<td>File</td>
<td><input type="file" name="File1" value="@Model.File1"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="ToHTML" /></td>
</tr>
</table>
}

控制器代码:

[HttpPost]
public ActionResult HtmlToPDF(Model1 file)
{
//Some validation.
return View(file);
}

这是我的模型:

public class Model1
{
public HttpPostedFileBase File1 { get; set; }
}

任何帮助将不胜感激。

  1. 由于安全原因,浏览器将不允许您设置该信息。一旦表单提交类型=文件的输入被清除,它不是通过脚本或其他编程内容手动设置的。

  2. 在您的情况下,您可以执行此类操作。 提交表单时,可以将模型 1 属性 File1 信息保存在其他对象中。如文件名,文件大小和数据流。您将标记传递到表单,表明您已存储该数据。因此,下次提交表单时,如果没有传递任何新数据,您可以考虑该数据。

我希望这个建议会有所帮助。

最新更新