Не показывает ошибки, но все еще не загружает представление после RedirectToAction - PullRequest
1 голос
/ 10 апреля 2019

У меня есть приложение в asp.net mvc

У меня есть контроллер с именем LoginController, у которого есть два метода действия

  1. Индекс
  2. loginCheck (Имя пользователя, Пароль)

Оба возвращают ActionResult

Индекс возврата действия просмотра, который имеет форму входа.

// Код

public class LoginController : Controller
{
    public ActionResult Index()
    {
        return view();
    }
}

Метод действия loginCheck вызывается с помощью ajax-вызова, когда пользователь нажимает кнопку входа в систему в форме входа.

С помощью loginCheck я проверяю имя пользователя и пароль, если это правильно, я создаю сеанс, используя Session["User"] = Username А return RedirectToAction("Index", "Configuration");

// Вот код

public class LoginController : Controller
{
    [HttpPost]
    public ActionResult loginCheck(string UserName, string Password)
    {

        Getting user Id and password

        Checking

        If(correct)
        Then
            Session["User"] = Username;

            return RefirectToAction("Index", "Cobfiguration");
        Else
            return RedirectToAction("Index");
    }
}

После указанной выше строки управление переходит к Index методу действия контроллера конфигурации.

Он проверяет сессию, если существует, затем выполняет вещи и возвращает представление метода действия конфигурации Index с данными в объекте класса модели конфигурации, а если сессия не существует, просто возвращает действие индекса входа в систему, которое в основном загружает форму входа.

if (Session["User"] != null)
{
      //do stuff
       return view(modelObject);
}
else
{
      return RedirectToAction("Index", "Login");
}

Итак, проблема в том, что controller переходит к методу index контроллера конфигурации, код выполняет все и даже return view(modelObject);, но представление индекса конфигурации не отображается. Я не понимаю почему.

Что-нибудь может сказать кто-нибудь?

1 Ответ

1 голос
/ 10 апреля 2019

Когда вы используете AJAX для вызова метода, весь процесс происходит без перезагрузки страницы.Все выполняется как положено, но страница не перезагружается.Вам нужно либо обработать перенаправление в обратном вызове вашего AJAX-вызова, либо просто отправить запрос POST синхронно.

...