@niyaz_z

Как вызвать контроллер методом другого контроллера в ASP NET MVC?

У меня имеется контроллер Home с методом Login
public class HomeController : Controller
         //метод Index
        public ActionResult Login(User user)
        {
            if (userAvail)
            {
                return RedirectToAction("Index", "Account", user);
            }
            else{
                  return View("Index");
                  }
        }   
    }

Также у меня имеется контроллер Account с единственным методом Index
public ViewResult Index()
        {
            ViewBag.info = "You have 0 messages";
            return View("Account");
        }


Я хочу чтобы при вызове метода Login контроллера Home приходил в действие контроллер Account.
Представление Account.cshtml:

@model Login.Models.User
<div>
        <h1>Welcome @Model.Name! </h1>
        <p>@ViewBag.info</p>
    </div>


Пытаюсь выполнять при успешном входе переадресацию на метод Index контроллера Account, однако пишет что не найдено представление.

В ASP NET MVC совсем недавно, хотел попутно изучая его писать простое приложение авторизации, но столкнулся с такой проблемой. Осознаю концепцию MVC и поэтому не пишу логику аккаунта в методе контроллера Home.
Был бы рад толковому решению и по возможности советов по организации клиент-серверных приложений в asp.
  • Вопрос задан
  • 1866 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ascar
У вас метод public ViewResult Index() не принимает ничего, а вы передаете 3м параметром. Уберите 3й параметр. А авторизация пробрасывается через User.Identity.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы