首页 > 解决方案 > 视图模型中的 IFormfile 未绑定

问题描述

我在我的 asp.net 4.72 框架 mvc 应用程序中使用 .net 标准项目中的视图模型,并且我在应用程序中有文件上传功能。IFormfile 在控制器方法中始终为空。下面是我的模型、视图和控制器方法。

.Net 核心中的模型

 public class CustomerImportForm
    {
        public CustomerImportForm();

        [Required]
        public int CohortId { get; set; }
        public ImporterType ImporterType { get; set; }
        [Required]
        public IFormFile ImportFile { get; set; }
    }

在 Asp.net 4.7 中查看

@model CustomerImportForm
<div class="form-group">
                        @Html.LabelFor(m => m.ImportFile)

                        <div class="input-group">
                            <div class="custom-file">

                                <input type="file" class="custom-file-input"
                                       id="@Html.IdFor(m => m.ImportFile)"
                                       name="@Html.NameFor(m => m.ImportFile)"
                                       accept=".xlsx,.csv"
                                       required/>

                                <label class="custom-file-label" for="@Html.IdFor(m => m.ImportFile)">Choose file</label>
                            </div>
                        </div>

                        @Html.ValidationMessageFor(m => m.ImportFile, null, new {@class = "text-danger" })
                    </div> 

控制器方法:

public async Task<ActionResult> ProcessUploadAndCreateCohorts(CustomerImportForm form)
        {

            Log.Info("Uploading import '{0}'", form.ImportFile.FileName);
            return RedirectToAction("View", new { id = importId });
        }

form.ImportFile 始终为空。

标签: asp.net-mvc-4

解决方案


推荐阅读