Перенаправление на стороне сервера после вызова jquery ajax в asp.net mvc 4

Я отправляю информацию для входа из вызова jQuery AJAX на контроллер MVC 4:

   $.post(url, data, function (response) {
      if (response=='InvalidLogin') {
          //show invalid login
      }
      else if (response == 'Error') {
          //show error
      }
      else {
          //redirecting to main page from here for the time being.
          window.location.replace("http://localhost:1378/Dashboard/Index");
      }
   });

Если вход выполнен успешно, я хочу перенаправить пользователя со стороны сервера на соответствующую страницу на основе типа пользователя. Если вход в систему не удается, строка отправляется обратно пользователю:

    [HttpPost]
    public ActionResult Index(LoginModel loginData)
    {
        if (login fails)
        {
            return Json("InvalidLogin", JsonRequestBehavior.AllowGet);
        }
        else
        {
             // I want to redirect to another controller, view, or action depending
             // on user type.
        }
    }

Но есть проблемы:

Если этот метод возвращает «ActionResult», то я получаю ошибкуnot all code paths return a value.

Если я использую void, я не могу ничего вернуть.

Даже если я использую 'void' без возврата, мне не удается перенаправить на другой контроллер или представление из-за асинхронной природы вызовов jQuery AJAX.

Существуют ли методы для обработки таких сценариев?

Ответы на вопрос(3)

Ваш ответ на вопрос