如何在 .net 核心 Razor 页面中从区域页面重定向到根页面?
How to redirect from an area page to root page in .net core Razor pages?
我是 razor 页面的新手。
谁能告诉我如何在 .Net 5 Razor 页面中从区域页面重定向到根目录页面。
下面的快照正是我想要实现的目标。
这是我的 Login.cshtml.cs 页面:
[AllowAnonymous]
public class LoginModel : PageModel
{
private readonly UserManager<IdentityUser> _userManager;
private readonly SignInManager<IdentityUser> _signInManager;
private readonly ILogger<LoginModel> _logger;
public LoginModel(SignInManager<IdentityUser> signInManager,
ILogger<LoginModel> logger,
UserManager<IdentityUser> userManager)
{
_userManager = userManager;
_signInManager = signInManager;
_logger = logger;
}
[BindProperty]
public InputModel Input { get; set; }
public IList<AuthenticationScheme> ExternalLogins { get; set; }
public string ReturnUrl { get; set; }
[TempData]
public string ErrorMessage { get; set; }
public class InputModel
{
// [Required]
[EmailAddress]
public string Email { get; set; }
// [Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
public void OnGetAsync(string returnUrl = null)
{
if (!string.IsNullOrEmpty(ErrorMessage))
{
ModelState.AddModelError(string.Empty, ErrorMessage);
}
returnUrl ??= Url.Content("~/");
ReturnUrl = returnUrl;
}
public IActionResult OnPostAsync(string returnUrl = null)
{
return RedirectToAction("Home"); // This is not working
}
}
}
不明白我哪里出错了。谁能在这里指导我。
您需要使用 RedirectToPage("/Home") 而不是 RedirectToAction("/Home")
我是 razor 页面的新手。
谁能告诉我如何在 .Net 5 Razor 页面中从区域页面重定向到根目录页面。
下面的快照正是我想要实现的目标。
这是我的 Login.cshtml.cs 页面:
[AllowAnonymous]
public class LoginModel : PageModel
{
private readonly UserManager<IdentityUser> _userManager;
private readonly SignInManager<IdentityUser> _signInManager;
private readonly ILogger<LoginModel> _logger;
public LoginModel(SignInManager<IdentityUser> signInManager,
ILogger<LoginModel> logger,
UserManager<IdentityUser> userManager)
{
_userManager = userManager;
_signInManager = signInManager;
_logger = logger;
}
[BindProperty]
public InputModel Input { get; set; }
public IList<AuthenticationScheme> ExternalLogins { get; set; }
public string ReturnUrl { get; set; }
[TempData]
public string ErrorMessage { get; set; }
public class InputModel
{
// [Required]
[EmailAddress]
public string Email { get; set; }
// [Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
public void OnGetAsync(string returnUrl = null)
{
if (!string.IsNullOrEmpty(ErrorMessage))
{
ModelState.AddModelError(string.Empty, ErrorMessage);
}
returnUrl ??= Url.Content("~/");
ReturnUrl = returnUrl;
}
public IActionResult OnPostAsync(string returnUrl = null)
{
return RedirectToAction("Home"); // This is not working
}
}
}
不明白我哪里出错了。谁能在这里指导我。
您需要使用 RedirectToPage("/Home") 而不是 RedirectToAction("/Home")