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?

有帮助吗?

解决方案

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();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top