在离开页面

时间:2016-11-09 12:25:50

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

由于某些原因,我需要从用户导航的页面中保存网址,以便在其他viewscontrollers中使用该网址。 I.E:用户在www.page1.com上导航到www.page2.com,然后我想以某种方式保存www.page1.com上的网址。

我已经做了一些研究并尝试了一些事情,首先我在寻找cookie,但由于很多原因我想忽略这个可能的解决方案。然后我正在寻找一个使用JQuery来设置MVC Session变量的解决方案,因为那些服务器端没有用。最后我想出了一个可能的解决方案,它正在向控制器发出一个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:这是完成此任务的正确方法吗?或者这对于这么小的任务有多大作用? 2:我的方法出了什么问题?我怎样才能确定问题的来源。

1 个答案:

答案 0 :(得分:1)

你有没有尝试过使用Request.UrlReferrer我记得它在你搬到新的那个之前给你了你的位置。