RedirectToAction() не работает с использованием ASP.NET CoreC#

Место общения программистов C#
Anonymous
RedirectToAction() не работает с использованием ASP.NET Core

Сообщение Anonymous »

Я изучаю ASP.NET Core и пробовал использовать метод RedirectToAction(), но почему-то он не работает.
Вот код моего LoginController:

Код: Выделить всё

[Route("[controller]")]
public class LogInController : Controller
{
public IActionResult Index()
{
ViewBag.Title = "Login Page";
return View();
}

[HttpPost]
public async Task LogIn(LogInViewModel model)
{
if (model.UserName != "Usertest" && model.Password != "Passtest")
{
ModelState.AddModelError("Denied", "Invalid Username/Password");
return View("Index", model);
}

return RedirectToAction(nameof(OTPInput), model);
}

[HttpPost]
[Route("[action]")]
public async Task OTPInput(LogInViewModel viewModel)
{
return View("InputOTP");
}

[HttpPost]
[Route("[action]")]
public async Task OTPValidation([FromForm] string otp)
{
if (otp != "123456")
{
ModelState.AddModelError("Invalid OTP", "Invalid OTP");
return View("OTPInput");
}

return View();
}
}
Вот моя разметка Index.cshtml с макетом:

Код: Выделить всё

@model LogInViewModel









Когда я ввожу правильное имя пользователя и пароль, я перенаправляюсь на

Код: Выделить всё

http://localhost:5142/LogIn/OTPInput?UserName=Usertest&Password=Passtest
Я ожидаю увидеть OTPInput.View, но почему-то код не достигает метода действия OTPInput()
Это работает, когда я использую View("OTPInput", model) вместо RedirectToAction("OTPInput", "login", model)

Подробнее здесь: https://stackoverflow.com/questions/790 ... p-net-core

Вернуться в «C#»