在ASP.NET Core MVC中实现登录后重定向到上次访问页面,可以通过以下步骤实现:
<input type="hidden" name="returnUrl" value="@Context.Request.Path" />
。returnUrl
变量中。returnUrl
变量进行重定向。可以使用returnUrl
变量作为参数传递给Redirect
方法,例如:return Redirect(returnUrl);
。以下是一个示例代码:
[HttpPost]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
if (ModelState.IsValid)
{
// 验证用户登录逻辑
// 如果验证成功
if (result.Succeeded)
{
// 重定向到上次访问的页面
if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError(string.Empty, "登录失败,请检查用户名和密码。");
}
}
// 如果验证失败或发生其他错误,返回登录页面
return View(model);
}
这样,当用户登录成功后,系统将会重定向到上次访问的页面。
请注意,以上代码只是一个示例,实际应用中需要根据具体的业务逻辑进行调整。另外,关于ASP.NET Core MVC的更多信息和相关产品,可以参考腾讯云的官方文档和产品介绍页面。
前文索引: ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标签的href属性上; 跟多的时候,我们会像下面这样使用锚点属性 <a asp-controller="Speaker" asp-
领取专属 10元无门槛券
手把手带您无忧上云