3

好的,这有点棘手。我在 ASP.NET MVC 3 中实现了一个论坛。用户想要发布一个问题,如果没有登录,他会被重定向到登录页面。将 returnUrl 参数传递到登录页面。但是,returnUrl 参数还包含另一个 returnUrl 参数。所以传递给登录页面的 returnUrl 参数如下所示:

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8"

但是,Request["returnUrl"] 看起来像这样:

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8,/forum/Board/8"

注意末尾的附加位,不应该存在吗?如何获得正确的 returnUrl?

但是,当控制器的操作方法中有一个字符串 returnUrl 参数时,这将具有正确的 returnUrl 值。

4

1 回答 1

1

我在 MVC3 中也遇到了这个问题,检查重定向页面是否为“登录”,设置一个标志,而不是添加returnUrl参数(这是最后附加的位)。

这样它就不会再次被填充。

于 2012-09-14T15:14:10.150 回答