2009-10-10 6 views
0

Je suis nouveau sur asp.net mvc et je suis tombé sur un projet il y a un certain temps qui comprenait une véritable classe Modèle comme un paramètre sur une méthode d'action. Il ressemblait à ceci:Comment puis-je faire un paramètre sur une méthode d'action être une classe modèle

public ActionResult Index(PersonFormViewModel person) 
{ 
    id = person.Id; ...etc.. 
} 

Quelqu'un peut-il me diriger vers quelques exemples sur la façon de mettre en œuvre quelque chose comme ça dans mon propre projet?

Merci à l'avance

Répondre

1

Selon vous, préfixe simplement les entrées qui correspondent aux propriétés du modèle avec le nom du paramètre du modèle. Pour un modèle avec des propriétés simples, cela devrait fonctionner. Si votre modèle a des propriétés complexes (sous-modèles), vous devrez peut-être développer un classeur de modèle personnalisé. Si vous avez des tableaux, vous devrez effectuer une mise en forme supplémentaire du côté de la vue (voir Phil Haack's blog à ce sujet).

<%= Html.Hidden("Person.Id") %> 
<%= Html.TextBox("Person.FirstName") %> 
<%= Html.TextBox("Person.LastName") %> 
1

Il est en fait très facile à faire, vos noms sur vos éléments de formulaire et votre modèle objet juste besoin d'aligner pour le liant automatique fonctionne, ou vous pouvez mettre en œuvre ou spécifier un liant personnalisé . Scott Gu a écrit à ce sujet sur son blog quand il est sorti dans la version preview 5.

http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx

http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

Un autre bel exemple:

http://www.bradygaster.com/post/ASPNET-MVC-Model-Binding-Example.aspx

Questions connexes