redirect to return url after login

I use a combination of the above suggestion and Request.UrlReferrer to get the previous location:

    public ActionResult LogOn(string returnUrl)
    {
        //So that the user can be referred back to where they were when they click logon
        if (string.IsNullOrEmpty(returnUrl) && Request.UrlReferrer != null)
            returnUrl = Server.UrlEncode(Request.UrlReferrer.PathAndQuery);

        if (Url.IsLocalUrl(returnUrl) && !string.IsNullOrEmpty(returnUrl))
        {
            ViewBag.ReturnURL = returnUrl;
        }
        return View();
    }

This way I don’t have to put the location in the ActionLink.

I populate a hidden field in the login page using the ViewBag.ReturnURL. Then in the Login HTTPPost ActionResult I redirect the user to the location in the hidden field (if there is one):

    [HttpPost]
    public ActionResult LogOn(LogOnModel model, string returnUrl)
    {
        //returnURL needs to be decoded
        string decodedUrl = "";
        if (!string.IsNullOrEmpty(returnUrl))
            decodedUrl = Server.UrlDecode(returnUrl);

        //Login logic...

        if (Url.IsLocalUrl(decodedUrl))
        {
            return Redirect(decodedUrl);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }
    }

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)