J'ai deux instances d'un contrôle Address.ascx
dans une page ASP.NET MVC.Comment utiliser deux instances du même fichier .ascx dans la même page dans ASP.NET MVC?
<h1>Shipping Address</h1>
<% Html.RenderPartial("Controls/AddressControl"); %>
<h1>Billing Address</h1>
<% Html.RenderPartial("Controls/AddressControl"); %>
Bien sûr, avec le code exactement comme ça, je vais finir avec les mêmes ID pour chaque champ de l'adresse. Je peux facilement ajouter une chaîne à l'ID des champs, donc j'aurais 'Street1_billing'
et 'Street1_shipping'
, mais je ne vois pas comment mapper cela au modèle.
Quelle est la meilleure solution pour mapper un modèle à un tableau d'éléments (dans ce cas seulement 2). Je ne connais aucune solution prête à l'emploi ASP.NET pour cela.
Note: Ceci est légèrement similaire à this question et je pourrais utiliser this solution from Scott Hanselman, mais ce n'est pas exactement ce que je veux. Dans mon cas, je sais que j'ai deux éléments, donc c'est essentiellement un tableau de 2 éléments, mais je me demande s'il y a une solution un peu plus élégante.
PS. Je suis sûr que cela a été demandé à plusieurs reprises auparavant, mais je ne peux pas sembler juste de mettre dans les termes de recherche. S'il vous plaît lier cette question si vous êtes conscient de dupes!
merci. cela semble la solution la plus propre jusqu'à présent. Je n'avais pas réalisé que le modelbinder était si intelligent :-) et en ce qui concerne l'emplacement .ascx, je suis en train d'écrire un panier dans une application existante et je veux garder les commandes du panier aussi séparées que possible. –
Ce type est intelligent en effet. Une chose que je n'ai toujours pas vue est si vous pouvez mapper une valeur de l'itinéraire avec le même type de syntaxe. –