Mon application MVC contient un modèle parent, qui contiendra 1 ou plusieurs modèles enfants.RenderPartial et sélection dynamique de vues partielles
J'ai configuré la vue principale pour afficher les propriétés du modèle parent, puis parcourir une collection de mes modèles enfants (de divers types, mais tous héritant du même type de base). Chacun des modèles enfants a une vue partielle correspondante.
Mon point de vue "parent" itère sur les modèles enfants comme celui-ci:
foreach (ChildBase child in ViewData.Model.Children)
{
Html.RenderPartial("Partials/"+child.ChildType.ToString()+"Child",
section);
}
Mon application a le /Partials/ChildType1.ascx approprié, ChildType2.ascx, etc. Tout fonctionne très bien.
Est-ce une façon appropriée d'utiliser des vues partielles? Il se sent légèrement décalé en raison des noms dynamiques, mais je ne connais pas une autre façon d'effectuer une sélection dynamique de la vue correcte sans avoir recours à une grande déclaration de commutateur.
Est-il conseillé d'utiliser la même vue pour plusieurs "modes" du même modèle? Je voudrais utiliser le même fichier .ascx pour afficher la vue "lecture seule" du modèle, ainsi qu'un formulaire d'édition, basé sur l'action du contrôleur utilisée pour renvoyer la vue.