Вызов метода действия от одного контроллера к другому - PullRequest
0 голосов
/ 26 июня 2019

Я работаю в Asp.Net Core. Мне нужно вызвать метод действия с одного контроллера на другой.

Я пытался с помощью метода RedirectToAction. Когда я использую это, я получаю сообщение об ошибке типа «Ни один маршрут не соответствует предоставленным значениям».

enter image description here

Код, который я использовал:

return RedirectToAction("Logon", "Login");

Мы используем такие файлы маршрутов, как это

enter image description here

Я звоню из MyItemsController в LoginController. Маршрут «Вход в систему» ​​присутствует в файле LoginRouteUrl.

Если я добавлю маршрут в файл MyItemsRouteURL, значит, RedirectToAction работает. Т.е. выполняется метод «Вход в систему» ​​в контроллере входа. Но мне нужно добавить маршрут для входа в систему в LoginRouteURL.

И мне нужно перенаправить результат действия.

Как этого добиться?

1 Ответ

1 голос
/ 26 июня 2019

Вы должны использовать RedirectToAction

return RedirectToAction("Index", "Home");

Первыми параметрами будет имя вашего действия, вторым параметром будет имя вашего контроллера

Также убедитесь, что у вас есть настройка маршрута по умолчанию, такая как

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller}/{action=Index}/{id?}");
        });
...