2009-09-04 3 views
11

Podczas wysyłania z powrotem do kontrolera mój model jest wypełniony poprawnymi wartościami, a moje pole ciąg znaków ma nazwę pliku, ale plik Request.Files jest pusty.Plik Request.Files jest pusty podczas używania pliku wejściowego z ASP.Net MVC

Moje wejście na widok jest:

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

Moja forma tag zaczyna:

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

Czy coś jeszcze muszę ustawić, aby wysłać z powrotem pole do kontrolera?

+0

Co to jest ModelSitePlan? Wierzę, że większość przeglądarek nie pozwala na przypisanie wartości domyślnej do , ale nie jestem pewien, czy jest to związane z problemem, przed którym stoisz. –

+0

Mam ten sam problem, ale moja instrukcja użycia wygląda następująco: @using (Html.BeginForm ("UploadPatientFiles", "Wizard", FormMethod.Post, nowy {id = "uploadForm", enctype = "multipart/form-data "})) Jakieś inne powody, które mogą się zdarzyć? –

Odpowiedz

15

Sprawdź, czy znacznik < jest renderowany. Nie ma deklaracji Html.BeginForm, która zajmuje tylko używane atrybuty htmlAttributes. W rzeczywistości używa atrybutów html jako parametry routeValues. Wypróbuj to ...

<% using (Html.BeginForm("actionName", "controllerName", FormMethod.Post, 
    new { enctype = "multipart/form-data" })) { %> 
Powiązane problemy