2009-09-04 14 views
11

Al publicar de nuevo en mi controlador mi modelo está lleno con los valores correctos y mi campo de cadena tiene el nombre del archivo, pero Request.Files está vacío.Request.Files está vacío cuando se utiliza un archivo de tipo de entrada con ASP.Net MVC

Mi entrada a la vista es:

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

Mi etiqueta de formulario comienza con:

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

¿Hay algo más que deba establecer que se envíe el campo de nuevo al controlador?

+0

¿Qué hay en Model.SitePlan? Creo que la mayoría de los navegadores no le permitirán asignar un valor predeterminado a un , pero no estoy seguro si esto está relacionado con el problema al que se enfrenta. –

+0

Estoy teniendo el mismo problema, pero mi declaración de uso parece la respuesta: @using (Html.BeginForm ("UploadPatientFiles", "Wizard", FormMethod.Post, new {id = "uploadForm", enctype = "multipart/form-data "})) ¿Alguna otra razón por la que esto podría estar pasando? –

Respuesta

15

Eche un vistazo a la <forma> etiqueta que se representa. No hay una declaración Html.BeginForm que solo tome los atributos htmlAttributes que está utilizando. De hecho, usa los atributos html como routeValues. Intente esto ...

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