在离开页面之前,将当前url保存在控制器中
本文关键字:url 保存 存在 控制器 离开 | 更新日期: 2023-09-27 18:17:10
出于某些原因,我需要从用户导航的页面中保存url,以便在其他views
和controllers
中使用它。例如:用户在www.page1.com上,正在导航到www.page2.com,然后我想以某种方式保存www.page1.com的url。
我已经做了一些研究并尝试了一些事情,首先我在寻找饼干,但由于很多原因,我想忽略这个可能的解决方案。然后我在寻找一个解决方案,使用JQuery来设置MVC会话变量,这不起作用,因为那些在服务器端。最后,我想出了一个可能的解决方案,这是使一个AJAX调用控制器,并使用UserProfile(这是我在我的应用程序中创建的),以保存被导航离开的url。
这是我使用的代码:
视图:$("a").on('click', function(e) {
$.ajax({
url: '<%= Url.Action("SetPreviousPage") %>',
type: 'POST',
data: $(location).attr('href');,
success: function() {
alert("Success");
},
error: function(xhr, status, error) {
alert(error.toString());
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
});
控制器:
public JsonResult SetPreviousPage(string url)
{
FactsProfile.GetProfile().PreviousPage = url;
return Json(url);
}
由于某些原因,这不起作用,并且我在AJAX调用中得到一个错误,其中我无法看到实际出了什么问题。
有两个问题
1:这是完成这个任务的正确方法吗?还是说对于这么小的任务来说工作量太大了?我的方法出了什么问题?
您是否尝试使用请求。UrlReferrer,我记得它给你的url在你移动到这个新的之前