Не отображается ошибка, но по-прежнему не загружается представление после RedirectToAction

#c# #.net #asp.net-mvc #asp.net-mvc-4

#c# #.net #asp.net-mvc #asp.net-mvc-4

Вопрос:

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

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

  1. Указатель
  2. Проверка входа (имя пользователя, пароль)

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

Действие индекса возвращает представление, в котором есть форма входа.

//Code

 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 методу действия контроллера конфигурации.

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

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

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

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

Комментарии:

1. Можете ли вы попробовать return view(«Index», ModelObject)

2. Ну, в том-то и дело, что у меня нет представления для каждого метода действия, например, у меня есть функция добавления, и после успешного индексного метода actionmethod вызывается, который загружает представление (в основном, после успешного индексного представления загружаются и отображаются данные)

Ответ №1:

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