ASP.NET MVC ActionResult Afficher() pas de changement de l'url
J'ai une méthode...
[HttpPost]
public ActionResult Start(SomeViewModel someViewModel) { ... }
que selon certaines conditions, les rendements des choses comme retour View("Invalid")
, View("NotFound")
, View("Run", anotherViewModel)
, etc. Le problème, c'est que quel que soit l'affichage, je présente, l'URL ne change pas pour refléter le nouveau contrôleur/action. Cela pose un problème lorsque mon point de Vue veut poster à une action différente. Comment puis-je résoudre ce problème?
- Retour d'un ViewResult (en appelant la Vue(...)) renvoie essentiellement un tas de HTML en réponse à la demande actuelle. Si vous souhaitez modifier l'URL, c'est à dire avoir le navigateur OBTENIR des données à partir d'une nouvelle adresse, vous devez retourner un RedirectResult. C'est ce que Serge code ne.
Vous devez vous connecter pour publier un commentaire.
La
View(...)
méthodes ne pas redirection, mais simplement de rendre le point de vue spécifique sur la demande actuelle. Si vous avez besoin de cibler une url spécifique à la forme de votre point de vue, vous pouvez passer dans le controller/action détails de la méthode du formulaire:... etc
Si vous souhaitez modifier l'URL, vous avez besoin d'une redirection vers l'action associée à cette URL, comme
L'action
SomeOtherAction
permettra à son tour de l'affichage.