title: Call controller from another controller and return a view
body: <p>I call an Action from a Login controller to authenticate users, once the user is authenticated I would like to call either the <em>Cashier</em> or the <em>Supervisor</em> action, depending on the user's role, and display the appropriate view. </p>
  
  <p>I can break on <code>AuthenticateUserByCard</code> but <code>RedirectToAction</code> doesn't seem to be working.</p>
  
  <p>I'm not sure if what I'm trying to do is deviating from the MVC architecture, if so please suggest the correct way to do this</p>
  
  <p><strong>Login controller:</strong></p>
  
  <pre><code>public class LoginController : Controller
      {
          public ViewResult Index()
          {
              return View();
          }
  
          [HttpPost]
          public ActionResult AuthenticateUserByCard(string token)
          {
              //Authenticate user and redirect to a specific view based on the user role
              Role role = GetRoleByToken(token);
  
              if(role.UserType == UserType.Supervisor)
                  return RedirectToAction("Supervisor", "Login", new { id = token });
              else
                  return RedirectToAction("Cashier", "Login", new { id = token });
  
              return null;
          }
  
          public ActionResult Supervisor(string id)
          {
              //Do some processing and display the Supervisor View
              return View();
          }
  
          public ActionResult Cashier(string id)
          {
              //Do some processing and display the Cashier View
              return View();
          }
  }
  </code></pre>
  
  <p><strong>Java Script:</strong></p>
  
  <pre><code>$.get("/Login/AuthenticateUserByCard",{token:token});
  </code></pre>