2011-03-13 78 views
5

我只是想知道如何才能找到以前访问的会话网址?重定向到以前的网址?

所以在用户做了一些事情后,我可以将他们重定向到该URL。

有没有什么标准的方法来做到这一点?否则,我将添加一些覆盖到Global.asax并使用会话变量来存储URL历史记录。

回答

5

Request.UrlReferrer可能是你想要的,但你可能要考虑使用AJAX或通过URL作为参数...

1

以上的答案是完全正确的,但在某些情况下,你不能传递查询字符串中的URL,例如URL被屏蔽时。在这种情况下,正确的方法是Request.UrlReferrer。使用会话变量的问题可能会过期并导致不可靠的行为。或者,如果您有多个会话活动或镜像服务器,则根本无法工作。

一般来说,它是一个可怜的想法,在MVC中使用会话变量时可以避免。我使用的解决方案是使用JavaScript获取以前的URL并将其传递给视图模型。

+0

如果用户禁用了JavaScript,这将不起作用。 URL编码更有意义。 – ashes999

+1

哦,我应该补充说,整个网站是依赖于JavaScript的,在我的情况下,不会让用户查看此页面没有JS启用heh – whoblitz