Question

I'm building an app and on my Checkout controller I have the [Authorize] attribute. I want my users to be logged in before they checkout any orders.

However on this method:

[HttpGet]
[AllowAnonymous]
public ActionResult Login(string _returnUrl)
{
    ViewBag.ReturnUrl = _returnUrl;

    return View();
}

The _returnUrl string is always empty. How can I provide the parameter with the current url browsed by the user?

Was it helpful?

Solution

You need to match the query string parameter names in the Control Action methods so that model binder can pass them in correctly. So in you case it should be string retrunUrl not string _returnUrl.

...
public ActionResult Login(string returnUrl)
{
    ViewBag.ReturnUrl = returnUrl;
    return View();
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top