在ASP.NET MVC 5中重新加载视图后显示选定的文件

黛西·凯菲伦

我正在ASP.NET MVC 5中的一个项目上工作,有一个上传图像文件的要求,我可以将图像上传到服务器,我所面对的是当提交的视图中有错误时我返回视图模型由于将在视图上显示一些错误消息,以便不再要求用户再次选择图像,因此视图中的所有表单域数据都将被填充,但先前未选择的文件除外。请帮助我实现这一目标的方法。

这是我必须选择图像的代码

@Html.TextBoxFor(model => Model.Logo, null, new { type = "file"})

这是模型字段

   [DataType(DataType.Upload)]
    public HttpPostedFileBase Logo
    {
        get;
        set;
    }
用户名

出于安全原因,您无法在控制器中设置文件输入的值,因此,如果要避免在返回视图时避免让用户再次选择该文件,则必须先保存该文件(该文件可能位于一个临时位置) ),并向用户显示文件已上传的指示。例如,您的模型可能包含以下属性

public HttpPostedFileBase Logo { get; set; }
public string LogoFileName { get; set; }
public string LogoPath { get; set; }

在控制器方法中,保存文件并设置FileName(即model.LogoFileName = Logo.FileName;)和Path属性。然后在视图中,添加条件语句以呈现,FileName如果存在,或者显示文件输入(如果不存在),例如

if(Model.LogoFileName == null)
{
    @Html.TextBoxFor(m => m.Logo, new { type = "file" })
}
else
{
    @DisplayFor(m => m.LogoFileName)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC-发布数据后如何重新加载相同的视图?

来自分类Dev

ASP.NET MVC 5 - 无法在 MacOS 上加载视图

来自分类Dev

ASP.NET MVC验证加载页面后显示错误

来自分类Dev

重新加载页面后,返回到某个div。(ASP.NET MVC 5)

来自分类Dev

在ASP.NET MVC中更新数据后更新视图

来自分类Dev

提交表单后如何显示加载图标,但如果模型在ASP .NET MVC中无效,则如何显示

来自分类Dev

Asp.net MVC5,如何加载.hbs文件

来自分类Dev

Asp.net MVC5,如何加载.hbs文件

来自分类Dev

asp.net mvc viewdata在视图页面中显示

来自分类Dev

asp.net mvc viewdata在视图页面中显示

来自分类Dev

ASP.Net MVC 5中的Cookie

来自分类Dev

ASP .NET MVC 5中的异步任务

来自分类Dev

ASP.NET MVC 5中的ClaimsIdentity

来自分类Dev

在ASP.Net MVC 5中找不到区域视图

来自分类Dev

在ASP .NET MVC 5中预编译剃刀视图

来自分类Dev

处理 ASP.NET MVC 中的文件

来自分类Dev

如何防止从ASP.NET MVC中的_layout视图加载Jquery文件

来自分类Dev

asp.net 5与asp.net mvc是否不同?

来自分类Dev

与ASP.NET MVC中的ASP.NET等效

来自分类Dev

在ASP.NET MVC5中显示PageList

来自分类Dev

Iframe 未在 Asp .Net MVC5 中显示网站

来自分类Dev

ASP.NET MVC视图模型呈现

来自分类Dev

ASP.NET Core MVC视图附件

来自分类Dev

ASP.NET MVC视图模型呈现

来自分类Dev

ASP.NET MVC 视图未更新

来自分类Dev

ASP.Net MVC页面加载

来自分类Dev

链接到MVC 5 ASP.NET中的文件

来自分类Dev

ASP.NET MVC HTML列显示

来自分类Dev

Asp.Net MVC获取显示名称