Quand pensez-vous utiliser la fonction Afficher() vs RedirectToAction
Ce question existante résume les principes de base de ma question. La meilleure des réponses, il indique la différence entre les deux méthodes. Je suis à la recherche de lignes directrices quant à la méthode à utiliser.
En bref, j'ai une action d'un contrôleur de processus d'un formulaire et afficher les résultats du traitement. Quand dois-je utiliser return View()
par opposition à return RedirectToAction("FormResult")
?
OriginalL'auteur Extrakun | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vraiment l'utiliser. Généralement parlant, si, une fois qu'un formulaire est posté, vous souhaitez rediriger ainsi que l'actualisation de la page n'est pas une cause de la forme de reposter. Parfois, cependant, il n'est pas possible de copier de l'état à la nouvelle page et votre traitement est la quantité de sorte de rafraîchissement ne serait pas mal quoi que ce soit.
C'est pas qu'il y ait une stricte de la règle. Vous devez peser les avantages et les inconvénients.
OriginalL'auteur Talljoe
Je me risquerais à dire qu'il y a une règle dure et rapide (bien que beaucoup comme il peut y avoir) - le Post/Redirect/Get (PRG) modèle. Le standard avec MVC (et le html helpers attendons de vous d'utiliser ce modèle) est:
ModelState.IsValid=false
) puisreturn View()
sinonreturn RedirectResult
.Si il y a une erreur le code HTML aides seront effectivement regarder la valeur postée pour afficher de nouveau contrairement à ce que vous les transmettre par
View(model)
de nouveau parce que le PRG modèle est supposée être ce qui s'est passé.RedirectResult
nécessitereturn new RedirectResult("url")
bien donc sans doute quelque chose commereturn RedirectToAction("Index")
est plus facile et plus propre.Ce doit être la première réponse. +1
OriginalL'auteur Adam Tuliper - MSFT
RedirectToAction fait une nouvelle demande et l'URL dans le navigateur
la barre d'adresse est mise à jour avec l'URL générée par MVC.
bar est mis à jour, mais vous devez spécifier l'adresse URL de redirection
RedirectToAction pour tout ce qui a trait à votre demande
actions/contrôleurs. Si vous utilisez la Redirection et de fournir l'URL, vous verrez
besoin de modifier les Url manuellement lorsque vous modifiez la table de routage.
Table de routage.
OriginalL'auteur Aruni Godage