Model view controller MVC:使用HttpPostedFileBase返回NULL
我试图包括文件上传,但它始终保持空。这是我的模型:Model view controller MVC:使用HttpPostedFileBase返回NULL,model-view-controller,httppostedfilebase,Model View Controller,Httppostedfilebase,我试图包括文件上传,但它始终保持空。这是我的模型: [Display(Name = "Upload Document")] [DataType(DataType.Upload), FileSize(102400)] public HttpPostedFileBase PathwaysToImpactUploadDocument { get; set; } 我的看法是: ProjectForm.cshtml @Html.EditorFor(m => m.Pathw
[Display(Name = "Upload Document")]
[DataType(DataType.Upload), FileSize(102400)]
public HttpPostedFileBase PathwaysToImpactUploadDocument { get; set; }
我的看法是:
ProjectForm.cshtml
@Html.EditorFor(m => m.PathwaysToImpactUploadDocument)
Upload.cshtml
@model HttpPostedFileBase
@{
Layout = "~/Views/Shared/EditorTemplates/_Layout.cshtml";
}
@Html.TextBox("", null, new {@class = "form-control", type = "file"})
@Html.ValidationMessage("")
控制器:
[HttpPost]
public ActionResult New(ProjectCreateViewModel model){
}
但是model.PathwaysToImpactUploadDocument始终为空。我遗漏了什么?这里有几件事情似乎值得怀疑:
@model ProjectCreateViewModel
@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.TextBoxFor(m => m.file, new {@class = "form-control", type = "file"})
@Html.ValidationMessageFor(m => m.file)
<input type="submit">Upload</input>
}
@model ProjectCreateViewModel
@使用(Html.BeginForm(null,null,FormMethod.Post,new{enctype=“multipart/formdata”}))
{
@TextBoxFor(m=>m.file,新的{@class=“form control”,type=“file”})
@Html.ValidationMessageFor(m=>m.file)
上传
}
如何上传文件-标准提交(表单中是否包含enctype
属性)或ajax?我需要添加enctype,您是正确的。:)我仔细检查并发现视图是问题所在,它没有声明enctype=“multipart/form data”。非常感谢。我现在可以继续讨论保存和下载文件的逻辑。