MVC: использование HttpPostedFileBase возвращает NULL
Я пытаюсь включить загрузку файла, он остается NULL все время. Вот моя модель:
[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 всегда имеет значение NULL. Что мне не хватает?
1 ответ
Есть несколько вещей, которые кажутся здесь подозрительными:
- кажется, что на ваш взгляд нет тега формы или кнопки отправки (может быть, а может и не быть проблемой)
- Модель для вашего взгляда не является моделью для вашего метода действия
Я хотел бы убедиться, что ваш взгляд выглядит примерно так:
@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>
}