Je me demande comment utiliser le modèle de liaison dans un scénario où je retourne des informations de plus d'une entité sur une page? P>
Je souhaite afficher une combinaison de champs à partir de deux entités distinctes, c'est-à-dire une adresse client +. J'utilise les entités commerciales de Microsoft's Daab et personnalisées pour mon modèle. P>
Des idées? P>
3 Réponses :
Vous pouvez utiliser ViewData pour passer plusieurs modèles à une vue. et la vue: P> Customer name: <%= (ViewData["Customer"] as Customer).Name %>
Street: <%= (ViewData["Address"] as Address).Street %>
Cela passe plusieurs objets à la vue, ce ne sont pas des modèles, vous ne pourrez pas accéder à leurs propriétés via l'objet Modèle de vue.
Si vous essayez de se lier à plusieurs modèles sur Postack, vous devez essayer d'utiliser l'attribut BIND et spécifier les préfixes utilisés pour chaque modèle de vos arguments. Dans certains scénarios - dans lesquels vous ne pourrez peut-être pas utiliser des préfixes séparés pour vos éléments de modèle - vous pouvez trouver cela plus facile à voir avec plusieurs tryupdateemodel et des blanchistiques séparés plutôt que de mettre les modèles dans les paramètres.
public class CustomerAddressModel
{
public string Name { get; set; }
public string Company { get; set; }
public string Street { get; set; }
...
}
+ Mais peut-être que "essayer / attraper avec UpdateModel" est meilleur que cela "imbriquée si (tryupdateModel" construction?
@ UE-GE-NE - peut-être. Cela dépend de la façon dont vous gérez la mise à jour de l'état modèle sur les erreurs. Sans écrire réellement les tests du code, il est difficile de dire exactement ce qui devrait être fait.
La réponse courte est: p>
@model code> comme première ligne à votre vue. li>
ol>
Vous avez maintenant fermement tapé votre vue et avoir accès à toutes les propriétés des deux objets de domaine. P>
Ceci est un duplicata, je suis assez sûr. Faites un objet de modèle avec des propriétés publiques pour votre client et vos objets d'adresse.