早上好。我一直在寻找几个地方来解决这个问题。单击登录按钮时,将显示〜/ Home的路径。设置此路径的地方在哪里?我可以指定路径吗?
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
//
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
// 계정이 잠기는 로그인 실패로 간주되지 않습니다.
// 암호 오류 시 계정 잠금을 트리거하도록 설정하려면 shouldLockout: true로 변경하십시오.
var result = await SignInManager.PasswordSignInAsync(model.ID, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return Redirect(returnUrl);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "잘못된 로그인 시도입니다.");
return View(model);
}
}
答案 0 :(得分:0)
在RedirectToAction中提供适当的控制器和操作名称:
switch (result)
{
case SignInStatus.Success:
return Redirect(returnUrl);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("ActionName", "ControllerName");
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "잘못된 로그인 시도입니다.");
return View(model);
}
如果你想传递任何外部的东西,比如paramerter或id那么
return RedirectToAction("ActionName", "ControllerName",new { parameterToShowinURL = YourParameterOrVariableContainingValue });