Asp Net Core MVC RedirectToAction不工作(No TempData)

时间:2018-04-30 11:56:47

标签: c# asp.net-mvc asp.net-core .net-core

我在登录RedirectToAction后使用/Home/Index,但无效。此外,/Home/Index[Authorized]。我发现这个问题很神奇,无法找到解决这个问题的方法。这是一个非常奇怪的行为,就像在.Net Framework中一样,它按预期工作。此外,我在服务器或客户端上都没有错误。

这是代码:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
    ViewData["ReturnUrl"] = returnUrl;
    if (ModelState.IsValid)
    {
        var result = await signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);

        if (result.Succeeded)
        {
            return RedirectToLocal(returnUrl);
        }

        return View(model);
    }

    return View(model);
}

private IActionResult RedirectToLocal(string returnUrl)
{
    if (Url.IsLocalUrl(returnUrl)) return Redirect(returnUrl);
    else return RedirectToAction("Index", "Home");
}

在响应标题中,我看到以下内容:

Request URL: http://localhost:8080/Account/Login
Request Method: POST
Status Code: 302 Found
...
Location: /

使用Redirect它可以正常工作,我有一个位置:/Home/Index。我不知道会发生什么。

我搜索过并发现了TempData和Cookie的一些问题,但我没有使用它。

我需要更多代码,只需要它。我会发布它。

0 个答案:

没有答案