示例
实现登录前点击了Upload Countries,登录成功后直接跳转到Upload Countries页面:
1、更新Login.cshtml
<h2 class="text-large">Login</h2>
<form asp-controller="Account" asp-action="Login"
asp-route-ReturnUrl="@Context.Request.Query["ReturnUrl"]" method="post">
2、更新Login action
[HttpPost]
public async Task<IActionResult> Login(LoginDTO loginDTO, string? ReturnUrl)
{
//Check for validation errors
if (!ModelState.IsValid)
{
ViewBag.Errors = ModelState.Values.SelectMany(temp =>
temp.Errors).Select(temp => temp.ErrorMessage);
return View(loginDTO);
}
var result = await _signInManager.PasswordSignInAsync(loginDTO.Email,
loginDTO.Password, false, false);
if (result.Succeeded)
{
if (!string.IsNullOrEmpty(ReturnUrl) && Url.IsLocalUrl(ReturnUrl))
{
return LocalRedirect(ReturnUrl);
}
return RedirectToAction(nameof(PersonsController.Index), "Persons");
}
else
{
ModelState.AddModelError("Login", "Invalid email or password");
return View(loginDTO);
}
}
Gitee获取源码: