如何检查RedirectToRouteResult将生成什么URL?

时间:2009-03-20 15:36:12

标签: c# .net asp.net-mvc routing

在我的asp.net-mvc项目中,我执行从post请求到get请求的重定向 在我的重定向和方法的到来之间,我希望它到达,我的一个参数神奇地变成了空,我无法弄清楚为什么。
可能它与我的global.asax(路线防御)有关。

我可以提出调试的唯一方法是使用route debugger library。但我不知道如何将它与RedirectToRoute一起使用。
有什么建议吗?

2 个答案:

答案 0 :(得分:20)

派对有点晚了,但这是谷歌第一次遇到我遇到的问题,所以我认为我会分享我的经验。

我想将RedirectToRouteResult解析为一个URL,以便我可以在以后重定向到它,但是这个类没有方法可以执行此操作。但是,您可以使用UrlHelper.RouteUrl(),例如:

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

其中UrlController类的属性。

答案 1 :(得分:1)

重定向是发送到浏览器的结果,然后浏览器通过对新URL执行GET来表达重定向。因此,请查看浏览器以查看URL是什么。当浏览器收到重定向时,它将对新URL进行GET,您可以使用Firebug,Fiddler或您选择的工具查看。

在新操作中,调用它时,您还可以检查Request.Url。