Ma configuration:RenderAction doit-il être utilisé avec des formulaires?
- avoir une vue d'une route comme:
/Pages/Details/2
- Les détails de la page voir a
<% Html.RenderAction("CreatePageComment", "Comments"); %>
pour rendre un formulaire de commentaire - messages formulaire de commentaire à
Comments/CreatePageComment
/Comments/CreatePageComment
retoursRedirectToAction
quand un commentaire est créé avec succès- Tout cela fonctionne bien
Ma question:
S'il y a une erreur de validation, comment dois-je revenir à /Pages/Detail/1
et montrer l'erreur sous forme de commentaire?
- Si j'utilise
RedirectToAction
, il semble que la validation soit difficile; devrais-je même utiliser le modèle Post-Redirect-Get pour les erreurs de validation, au lieu de simplement revenir? - Si je retourne
View()
il me ramène à montrer la vueCreateComment.aspx
(avec validation, mais juste un formulaire sur une page blanche), pas le/Pages/Details/2
route qui a appelé leRenderAction
.
Si le modèle PRG doit être utilisé, alors je pense que j'ai juste besoin d'apprendre à faire la validation tout en utilisant PRG. Si ce n'est pas — et pour moi cela semble mieux géré en retournant View()
— alors je ne sais pas comment obtenir l'utilisateur retourné à la vue initiale, montrant les erreurs de formulaire, tout en utilisant RenderAction
. Cela ressemble au jeu où vous tapotez la tête et vous frottez le ventre en même temps. Je n'étais pas bon à celui-là non plus. Je suis nouveau chez MVC, donc c'est probablement le problème ici.
BTW: Je pourrais faire cela en ayant juste un Partial et un POST route/Page/CreateComment, mais cela ne semble pas désordonné? Je veux que mon contrôleur de commentaires gère les commentaires, pas le contrôleur de page. Curieusement, je viens de passer en revue le code du moteur de blog Oxite, et leur contrôleur Post gère l'ajout de commentaires; leur controller Comments n'a même pas d'action Create! –