#c# #.net #asp.net-mvc #asp.net-mvc-4
#c# #.net #asp.net-mvc #asp.net-mvc-4
Вопрос:
У меня есть приложение в asp.net mvc
У меня есть контроллер с именем LoginController, который имеет два метода действий
- Указатель
- Проверка входа (имя пользователя, пароль)
Оба возвращают 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-запрос.