Ehsan Akbar
Ehsan Akbar

Reputation: 7301

Redirect to action doesn't work in MVC

I have a controller CMS as you can see here :

  [HttpGet]
        public ActionResult Login(string returnUrl)
        {



            return View(); // show the login page
        }
        UserRepository ObjUserRepository = new UserRepository();
        [HttpPost]
        public ActionResult Login(DomainClass.User loginInfo, string returnUrl)
        {


            if (ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).Any())
            {
                DomainClass.User objUser = ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).FirstOrDefault();

                FormsAuthentication.SetAuthCookie(loginInfo.Email, false);
                if (shouldRedirect(returnUrl))
                {
                    return Redirect(returnUrl);
                }

                if (objUser.Pemission == "professor")
                {
                    return RedirectToAction("Index", "Home", new { Area = "Teacher" });
                }


            }


        return View(loginInfo);
    }

I call this url ../cms/login and my login view appeared ,i enter the username and password ,this part of code is executed :

  if (objUser.Pemission == "professor")
                {
                    return RedirectToAction("Index", "Home", new { Area = "Teacher" });
                }

But the mvc redirects me to Login page again ,but it should redirect me to /teacher/home/index

Upvotes: 1

Views: 1923

Answers (1)

beautifulcoder
beautifulcoder

Reputation: 11330

Change

return RedirectToAction("Index", "Home", new { Area = "Teacher" });

To

return RedirectToAction("Index", "Home", new { area = "Teacher" });

The area parameter is lower case.

Upvotes: 1

Related Questions