我在哪里设置ASP.NET MVC5中的returnUrl路径?

问题描述 投票:0回答:1

早上好。我一直在寻找几个地方来解决这个问题。单击登录按钮时,将显示〜/ 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);
        }
    }
asp.net asp.net-mvc asp.net-mvc-5
1个回答
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 });
© www.soinside.com 2019 - 2024. All rights reserved.