由于某些原因,我需要从用户导航的页面中保存网址,以便在其他views
和controllers
中使用该网址。 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:我的方法出了什么问题?我怎样才能确定问题的来源。
答案 0 :(得分:1)
你有没有尝试过使用Request.UrlReferrer我记得它在你搬到新的那个之前给你了你的位置。