¿Cómo manejar los modelos `PartialRender`?

si de alguna manera tengo

public class DoorsModel
{
    public DoorsModel() { }

    public HttpPostedFileBase Image { get; set; }
    public String DoorLayout { get; set; }
    public bool ReplicateSettings { get; set; }
    public List<DoorDesignModel> Doors { get; set; }
}

public class DoorDesignModel
{
    public DoorDesignModel() { }

    public HttpPostedFileBase FrontFile { get; set; }
    public HttpPostedFileBase BorderFile { get; set; }
}

y en miView Tengo una forma normal para llenar las Propiedades del modelo, pero elList<DoorDesignModel> Estoy usando un Control de usuario y uso

<%Html.RenderPartial("DoorDesign", Model.Doors); %>

dentroDoorDesign.ascx Yo tengo:

<%@ Control 
       Language="C#" AutoEventWireup="true"
       Inherits="System.Web.Mvc.ViewUserControl<List<MyProject.Backend.Models.DoorDesignModel>>" %>

para mostrar toda la forma tengo unfor cláusula

MyProject.Backend.Models.DoorDesignModel field;
for (i = 0; i < Model.Count; i++) { 
    field = Model[i];
    ... 
}

y estoy usando el HTML

<input type="file" value="Upload file" 
    name="Doors.FrontFile[<%: i %>]" id="Doors.FrontFile[<%: i %>]">

pero pronto presiono el botón de enviar, mi modelo devuelve unnull Lista :( y estoy creando y configurando una nueva lista al iniciar Ver como

public ActionResult Doors()
{
    DoorsModel model = new DoorsModel();

    model.Doors = new List<DoorDesignModel>();
    for (int i= 1; i<= 24; i++) // Add 24 Doors
        model.Doors.Add(new DoorDesignModel());

    return View(model);
}

[HttpPost]
public ActionResult Doors(DoorsModel model)
{
    // model.Doors is always null !!!

    if (ModelState.IsValid)
        ViewData["General-post"] = "Valid";
    else
        ViewData["General-post"] = "NOT Valid";

    return View(model);
}

¿Qué necesito tener para devolver la Lista de puertas deRenderPartial ¿parte?

una simple maqueta de la Vista

Respuestas a la pregunta(1)

Su respuesta a la pregunta