0
您好我正在创建我的第一个项目在Asp.net核心,我需要登录到他的上一页后重定向用户。例如,如果他将观看页面“关于”,那么他将要登录,登录后我需要他重定向到“关于”页面。 这是我在Controller中的代码。 。如何在登录后获取上一页
//
// GET: /Account/Login
[HttpGet]
[Route("/Account/Login")]
[AllowAnonymous]
public IActionResult Login(string returnUrl = null)
{
try
{
if (_signInManager.IsSignedIn(User))
_signInManager.SignOutAsync();
ViewData["ReturnUrl"] = returnUrl;
return View("Login");
}
catch (Exception e)
{
return ExceptionActionResult(e);
}
}
我试图使用Request.Headers [ “Referer的”]的ToString();但问题是前一页是登录页面。我试图把这个方法//获取登录但我不知道如何将字符串发送到//帖子登录
// POST: /Account/Login
[HttpPost]
[Route("/Account/Login")]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
try
{
//Nesmi byt prihlasen
if (_signInManager.IsSignedIn(User))
return ErrorActionResult("User is already Signed");
// string var = Request.Headers["Referer"];
string var = Request.Headers["Referer"].ToString();
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
set lockoutOnFailure: true
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: true);
if (result.Succeeded)
{
return RedirectToLocal(returnUrl);
}
if (result.IsLockedOut)
{
_logger.LogWarning(2, "someString");
ModelState.AddModelError("UserName", "someString");
return View("Lockout");
}
else
{
_logger.LogWarning(2, "someString");
ModelState.AddModelError(string.Empty, "Invalid Password or Mail");
}
return View(model);
}
// If we got this far, something failed, redisplay form
return View(model);
}
catch (Exception e)
{
return ExceptionActionResult(e);
}
}
如果你有什么需要或者如果你不理解我问我了解详情。我会很乐意提供任何帮助。