Dans asp.net mvc, j'utilise ce code:
RedirectToAction("myActionName");
Je veux passer quelques valeurs via la chaîne de requête, comment faire?
Toutes les valeurs transmises qui ne font pas partie de l'itinéraire seront utilisées comme paramètres de chaîne de requête:
return this.RedirectToAction
("myActionName", new { value1 = "queryStringValue1" });
Retournerais:
/controller/myActionName?value1=queryStringValue1
En supposant qu'il n'y a pas de paramètre de route nommé "valeur1".
Pensez également à utiliser T4MVC , qui a les méthodes d'extension AddRouteValue()
et AddRouteValues()
(comme on le voit sur cette question sur définition de la chaîne de requête dans redirecttoaction =).
Ne faites pas la même erreur que je faisais. Je gérais des erreurs 404 et je voulais rediriger avec 404=filename
dans la chaîne de requête, c'est-à-dire mysite.com?404=nonExistentFile.txt
.
Les clés QueryString ne peuvent pas commencer par des nombres. Changement de 404
à FileNotFound
a résolu mon problème, c'est-à-dire mysite.com?FileNotFound=nonExistentFile.txt
.