ASP MVC / Sharp-Architecture débutant - comment les actions obtiennent-elles des entités de domaine comme entrées?

StackOverflow https://stackoverflow.com/questions/1418271

Question

Je suis en train d’essayer une architecture pointue (et ASP.NET MVC) pour un nouveau projet après être resté en marge de cette communauté pendant un moment et je suis un peu confus. Après la génération du modèle d'entité standard, j'ai créé une classe Message et je peux les répertorier, les créer, les modifier et les supprimer.

Je regarde l'action Edit (Message) et je ne peux tout simplement pas comprendre comment elle obtient un type de message d'entrée. Vous cliquez sur btnSave, qui soumet le formulaire à Messages / Modifier? Id = 1 , puis que se passe-t-il? Est-ce une convention définie quelque part? Si oui où?

Était-ce utile?

La solution

Le classeur de modèles par défaut effectue le travail à votre place. Il réfléchit sur l'action du contrôleur, essaie de créer de nouveaux types d'objet dans les arguments trouvés via réflexion, lit ensuite la fiche de collecte et tente d'effectuer une analyse syntaxique afin de faire correspondre les clés de la fiche de collecte aux valeurs appropriées de l'objet créé.

Je dis l'analyse car il est possible de représenter des objets qui ne sont pas entièrement plats dans les vues, et le classeur de modèle par défaut peut souvent les obtenir correctement. Bien que je ne l'aie pas fait car je n'ai pas de cas d'utilisation valable, il peut être possible de passer plusieurs objets et de laisser le classeur de modèle le «récupérer». Sinon, il ne serait peut-être pas trop horrible d'en écrire un qui le pourrait.

Autres conseils

Je pense que lorsque vous utilisez une vue fortement typée, le framework nouveau crée automatiquement un objet du type correct et le transmet à l'action du contrôleur, en inspectant toutes les entrées de formulaire et en utilisant un peu de réflexion pour renseigner les propriétés correspondantes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top