一种处理MVC环境中的返回URL的智能方法

dna*_*oli 15 asp.net-mvc returnurl

在用户运行某些操作(例如单击"返回..."链接或保存他们正在编辑的记录)后,我反复遇到的问题是处理重定向到上一页.

以前每当我需要知道要返回的页面时,我都会为returnURL当前视图提供一个参数.

http://blah.com/account/edit/1?returnURL="account/index"
Run Code Online (Sandbox Code Playgroud)

这不是处理这种情况的非常简洁的方法,因为有时返回URL包含必须包含在URL中的搜索字符串等参数.

http://blah.com/account/edit/1?returnURL="account/index?search="searchTerm""
Run Code Online (Sandbox Code Playgroud)

此外,当用户在返回页面之前可以向前转到另一页面时会产生问题,returnURL因为您必须returnURL通过所有访问过的页面.

简单地调用浏览器的Back功能也不够,因为您可能希望页面刷新,例如显示您刚刚在上一页保存的编辑.

所以我的问题是,有没有人找到一种聪明的方法来处理这种情况,特别是在MVC环境中?

注意:我正在使用ASP .NET MVC,所以如果可能的话,我希望得到与之相关的答案,但欢迎任何想法.

Eri*_*sch 12

设置cookie或使用会话变量有什么问题?如果您不控制调用您的页面,那么您唯一的理由是,在这种情况下,您唯一的选项是查询字符串,帖子值或引荐来源.