重定向到操作不适用于 ASP.NET 核心

Sim*_*ons 6 asp.net asp.net-mvc razor asp.net-core-mvc

我有我的登录视图,它想在成功登录后重定向到客户端页面。

为此,我正在使用

[HttpPost]
        public async Task<IActionResult> Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, model.Rememberme, false);

                if (result.Succeeded)
                {

                    if (Request.Query.Keys.Contains("ReturnUrl"))
                    {
                        Redirect(Request.Query["ReturnUrl"].First());
                    }
                    RedirectToAction("Index", "Clients");
                }
                else
                {
                    ModelState.AddModelError("", "Failed to login");
                    return View();
                }
            }

            return View();

        }
Run Code Online (Sandbox Code Playgroud)

但是登录成功后,我停留在当前登录页面而不是重定向到客户端页面!!如果我尝试使用浏览器导航到客户端页面,这可以正常工作,没有任何问题。

gar*_*ret 10

您需要返回方法结果,只需将 return 添加到所有重定向方法:

return RedirectToAction("Index", "Clients");
Run Code Online (Sandbox Code Playgroud)

重定向方法是returnig视图,要显示这个视图你需要返回它。

有关 IActionResult 的更多信息