gpt4 book ai didi

asp.net-core - 如何用 Razor Pages 路由替换 MVC HomeController/Index 重定向?

转载 作者:行者123 更新时间:2023-12-04 15:53:51 24 4
gpt4 key购买 nike

我正在从 ASP MVC Classic 迁移到 ASP Razor Pages。

只剩下一个 Controller 可以“迁移”:HomeController

 public class HomeController : Controller
{
UserManager<WebUser> _userManager;

public HomeController(UserManager<WebUser> _userManager)
{
this._userManager = _userManager;
}

[Authorize]
public async Task<IActionResult> Index()
{
var user = await _userManager.GetUserAsync(User);
if (user == null)
{
return RedirectToPage("/Account/Login", new { area = "WebUserIdentity" });
}
return RedirectToPage("/Index", new { area = "Downloads" });
}
}

此 Controller /操作没有对应的 View 。

因此我陷入困境:如何为 Razor 页面配置路由以使用这些重定向(到两个不同的区域)而不创建“假”索引页面?

最佳答案

我相信您可以转换 Controller 以创建索引页 Pages/IndexModel 的 Page 模型并执行相同的重定向。

public class IndexModel : PageModel {
UserManager<WebUser> _userManager;

public IndexModel(UserManager<WebUser> _userManager) {
this._userManager = _userManager;
}

public async Task<IActionResult> OnGetAsync() {
var user = await _userManager.GetUserAsync(User);
if (user == null) {
return RedirectToPage("/Account/Login", new { area = "WebUserIdentity" });
}
return RedirectToPage("/Index", new { area = "Downloads" });
}
}

关于asp.net-core - 如何用 Razor Pages 路由替换 MVC HomeController/Index 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52711158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com