2009-09-04 3 views
11

При отправке обратно на мой контроллер моя модель заполнена правильными значениями, а поле строки имеет имя файла, но Request.Files пуст.Request.Files пуст при использовании файла входного типа с ASP.Net MVC

Мой вход на зрения:

<input id="SitePlan" name="SitePlan" type="file" value="<%= Html.Encode(Model.SitePlan) %>" /> 

Моя форма тег начинается с:

<% using (Html.BeginForm(new { enctype = "multipart/form-data" })) 

Есть ли что-нибудь еще мне нужно установить, чтобы отправить поле обратно к контроллеру?

+0

Что имеется в Model.SitePlan? Я считаю, что большинство браузеров не позволят вам присваивать значение по умолчанию , но я не уверен, связано ли это с проблемой, с которой вы столкнулись. –

+0

У меня такая же проблема, но мой оператор использования выглядит как ответ: @using (Html.BeginForm ("UploadPatientFiles", "Wizard", FormMethod.Post, new {id = "uploadForm", enctype = "multipart/form-data "})) Любые другие причины этого могут произойти? –

ответ

15

Посмотрите на форму < >, которая визуализируется. Существует не объявление Html.BeginForm, которое просто использует htmlAttributes, который вы используете. Фактически, он использует атрибуты html как routeValues. Попробуйте это ...

<% using (Html.BeginForm("actionName", "controllerName", FormMethod.Post, 
    new { enctype = "multipart/form-data" })) { %> 
Смежные вопросы