si par quelque moyen que j'arriver à avoirComment gérer les modèles `PartialRender`?
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; }
}
et dans mon View
j'ai une forme normale pour remplir les Propriétés du modèle, mais le List<DoorDesignModel>
J'utilise un contrôle utilisateur et utiliser
<%Html.RenderPartial("DoorDesign", Model.Doors); %>
à l'intérieur DoorDesign.ascx
J'ai:
<%@ Control
Language="C#" AutoEventWireup="true"
Inherits="System.Web.Mvc.ViewUserControl<List<MyProject.Backend.Models.DoorDesignModel>>" %>
pour afficher toutes les formes que j'ai un for
clause
MyProject.Backend.Models.DoorDesignModel field;
for (i = 0; i < Model.Count; i++) {
field = Model[i];
...
}
et j'utilise le HTML
<input type="file" value="Upload file"
name="Doors.FrontFile[<%: i %>]" id="Doors.FrontFile[<%: i %>]">
mais bientôt j'appuie sur le bouton d'envoi, mon modèle retourne une liste null
:( et je suis la création et la mise en une nouvelle liste lors du démarrage de la vue comme
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);
}
que dois-je avoir pour retourner la liste des portes de la partie RenderPartial
?
simple mockup de la vue
1. Avez-vous créé un modèle DoorsModel Binder? 2. Avez-vous défini le paramètre From type sur "multipart/form-data"? – Bivoauc
@Bivoauc 1. Oui, vous pouvez le voir comme un héritage de mon modèle dans le contrôle utilisateur - 2. Oui, je le fais et fonctionne très bien avec le 'Image' en dehors du contrôle utilisateur. – balexandre