Tengo tiene una Vista donde puedo agregar productos a una simple Tienda. Quiero tener varias imágenes con un solo producto. Es por eso que yo uso FileUpload de Microsoft.Web.Los ayudantes. El uso de FileUpload en mi punto de Vista es este:

@FileUpload.GetHtml("Upload", 5, true, true, addText: "Add more", uploadText: "Upload files")

Entonces tengo algunas etiquetas y campos para otro producto atributos como este:

<div class="editor-field"><br>
    @Html.EditorFor(model => model.Title)<br>
    @Html.ValidationMessageFor(model => model.Title)<br>
</div>

El problema es que cuando utilizo el método post, mi controlador no recibe nada. Yo use el controlador como este:

[HttpPost]
public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> fileUpload)
{
    foreach (var file in fileUpload)
    {
        var fileName = Path.GetFileName(file.FileName);
    }

    return RedirectToAction("Index");
}

Así que ¿alguien tiene alguna idea de lo que estoy haciendo mal. Porque mi FileUpload objeto siempre está vacío.

OriginalEl autor MaticDiba | 2011-04-19

3 Comentarios

  1. 14

    Más probable es que su BeginForm falta el campo requerido. Se debe tener este aspecto:

    using(Html.BeginForm("Index", "Home", FormMethod.Post, 
        new { enctype="multipart/form-data" })) { 
    
    }

    OriginalEl autor Buildstarted

  2. 0

    He tenido este problema última noche FileUpload de control y el nombre del parámetro debe ser el mismo

    Cambio:

    public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> **fileUpload**) 

    a

    public ActionResult Create(Product product, IEnumerable<HttpPostedFileBase> **upload**) 

    OriginalEl autor user3405201

Dejar respuesta

Please enter your comment!
Please enter your name here