【问题标题】:Redirecting to originating page in ASP.NET MVC [duplicate]重定向到 ASP.NET MVC 中的原始页面 [重复]
【发布时间】:2014-02-21 01:13:13
【问题描述】:

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

获取上一页 URL
document.referrer

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

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

document.referrer

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

任何线索。

【问题讨论】:

    标签: javascript asp.net-mvc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你的登录页面的动作应该是这样的

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

      当您调用您的登录时,您必须通过查询字符串传递登录参数,例如

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 1970-01-01
        • 1970-01-01
        • 2010-10-04
        相关资源
        最近更新 更多