2009-03-20 4 views
7

Dans mon projet asp.net-mvc, je fais une redirection d'une demande de post à une demande d'obtention.
Entre ma redirection et mon arrivée de la méthode, je m'attends à ce qu'elle arrive, un de mes paramètres devient magiquement nul et je n'arrive pas à comprendre pourquoi.
Probablement que cela a quelque chose à voir avec mon global.asax (défenition de route).Comment vérifier l'URL d'un RedirectToRouteResult?

La seule façon que je peux mettre au point pour déboguer cela est avec le route debugger library. Mais je ne vois pas comment je peux l'utiliser avec un RedirectToRoute.
Des suggestions?

Répondre

1

Une redirection est un résultat envoyé au navigateur, puis le navigateur respecte la redirection en effectuant un GET sur la nouvelle URL. Par conséquent, regardez le navigateur pour voir ce qu'est l'URL. Lorsque le navigateur reçoit la redirection, il fera un GET sur la nouvelle URL, que vous pouvez voir avec Firebug, Fiddler, ou l'outil de votre choix.

A l'intérieur de la nouvelle action, quand elle est appelée, vous pouvez également examiner Request.Url.

19

Un peu en retard à la fête mais c'était le premier succès sur Google pour un problème que j'avais alors pensé que je partagerais mon expérience. Je voulais analyser un RedirectToRouteResult à une URL afin que je puisse y revenir ultérieurement, mais cette classe n'a pas de méthode pour le faire. Vous pouvez cependant utiliser UrlHelper.RouteUrl(), par exemple:

Url.RouteUrl(redirectResult.RouteName, redirectResult.RouteValues); 

Url est propriété de Controller classe.

Questions connexes