RedirectToAction provoque "Aucune route dans la table de routage ne correspond aux valeurs fournies" dans ASP.NET MVC 3
J'ai un projet que j'ai récemment mis à niveau vers ASP.NET MVC 3. Sur ma machine locale, tout fonctionne bien. Lorsque je de le déployer sur le serveur, j'obtiens une erreur à chaque fois que je utiliser un RedirectToAction
appel. Il jette un System.InvalidOperationException
avec le message d'erreur Pas de route dans la table de routage correspond aux valeurs fournies. Mon hypothèse est qu'il y a quelque problème de configuration sur le serveur, mais je n'arrive pas à être en mesure de le comprendre.
source d'informationauteur Schmalls
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire une fois avec
RedirectToAction
et a découvert que vous devez valide d'un itinéraire enregistré qui mène à l'action.J'ai couru avec des zones à l'intérieur de MVC3 lors de la redirection entre les régions. Comme d'autres l'ont dit, le coup d'œil est très utile ici.
La solution pour moi était de passage dans la Région à l'intérieur de la route des valeurs de paramètre en train de changer:
:
Découvrez aperçu et voir si vous pouvez obtenir un peu de la route des informations de débogage:
http://getglimpse.com/
Il y a une différence avec les barres obliques dans les itinéraires de ne pas travailler avec MVC 3.0. MVC 2.0 n'a pas un problème avec eux. I. e., si vous modifiez les éléments suivants:
:
il doit résoudre (à partir de ce fila travaillé pour moi). Même lorsque vous utilisez l'assistant de mise à niveau pour passer à la MVC 3.0, cela en jette toujours
InvalidOperationException
. Je ne suis pas au courant si c'est ce que Schmalls parlait bien.Vous pouvez ajouter une table de routage pour votre RouteConfig.cs fichier comme ci-dessous:
NB: le "url" est ce que vous pouvez taper dans la barre d'adresse de dire: localhost:/home
Après la configuration de la route, utiliser
RedirectToRoute("url")
.Ou si vous préférez le
RedirectToAction()
alors vous n'avez pas besoin de configurer la route ci-dessus, utilisez les valeurs par défaut.RedirectToAction(string action name, string controller name)
;J'espère que cette aide.