我正在从 ASP MVC Classic 迁移到 ASP Razor Pages。
只剩下一个控制器需要“迁移”: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" });
}
}
该控制器/操作没有对应的视图。
因此,我陷入了困境:如何配置剃刀页面的路由以使用这些重定向(到两个不同的区域)而不创建“假”索引页面?
我相信您可以转换控制器来为索引页创建页面模型Pages/IndexModel
并执行相同的重定向。
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" });
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)