在ASP.NET MVC5中,可以在登录控制器的Login
方法中设置returnUrl
路径。returnUrl
用于在用户成功登录后,将其重定向到原始请求的页面。
具体设置returnUrl
路径的代码如下:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return RedirectToLocal(returnUrl); // 重定向到原始请求的页面
// 其他情况...
}
}
// 登录失败的处理...
return View(model);
}
在上述代码中,returnUrl
作为Login
方法的参数,可以通过表单提交或URL参数传递。在登录成功后,使用RedirectToLocal
方法将用户重定向到原始请求的页面。
ASP.NET MVC5中的RedirectToLocal
方法的实现如下:
private ActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
RedirectToLocal
方法首先检查returnUrl
是否为本地URL,如果是,则使用Redirect
方法将用户重定向到该URL;如果不是,则重定向到默认的首页。
关于ASP.NET MVC5的更多信息和相关产品,您可以参考腾讯云的文档和产品介绍:
领取专属 10元无门槛券
手把手带您无忧上云