重定向到ASP.NET MVC中的原始页面

时间:2014-01-29 10:00:27

标签: javascript asp.net-mvc

我有一个提供登录功能的登录页面以及一个注册链接。 在此页面上,我使用

获取上一页网址
document.referrer

这有助于在登录成功后将用户带回原始页面。

现在,在同一登录页面上有一个注册选项,该选项将进入注册页面。 在一个典型的情况下,当用户来自某个页面,Page1,登录页面,Page2,然后从那里进入注册页面,Page3,如何跟踪Page1,以便在成功注册时,用户被发送回Page1来自Page3。

document.referrer

将返回Page2,并在成功注册后返回登录页面。

任何线索。

2 个答案:

答案 0 :(得分:0)

你可以url编码page1的相对路径,并通过查询字符串将其传递给page2(登录)。例如。 /登录资讯?redirectto =%2Fpage。如果用户登录,则从查询字符串中获取原始页面并重定向它们。如果用户导航到注册页面,那么您可以构建链接,使其包含相同的查询字符串。例如。 @ Url.Action(“Register”,“Home”,new {redirecto = Request.Params [“redirectto”]})。您可能必须在操作链接中再次对参数进行urlencode。然后,一旦用户注册,您应该能够像以前一样,从查询字符串中拉出page1网址并重定向。希望一切都有道理。

答案 1 :(得分:0)

登录页面的操作应该是

public ActionResult login(string backAction, string backController){
    //Do your stuff
    return RedirectToAction(backAction, backController);
}

当你呼叫你的登录时,你必须通过查询字符串传递登录的参数,如

@Url.Action("Login", "LoginController", new{ backAction = "action", backController = "controller" })