Метод действия контроллера не используется при вводе значения маршрута в URL браузера и при использовании RedirectToAction? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение MVC5, опубликованное на удаленном сервере, на котором установлен HomeController с методом About ActionResult, у меня настроен файл RouteConfig.cs следующим образом:

            routes.MapRoute("Default", 
            "{controller}/{action}", 
            new { controller = "Home", action = "Login"});

Однако, когда я перехожу к публикации sh URL-адрес как 192.xxx.1.xx / MyApp, форма входа открыта, как и ожидалось, но после ввода имени пользователя и пароля и отправки формы, где отправка перенаправляет на метод входа с помощью метода HomeController со следующим кодом:

        [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Login(SSERPService.UserName userName)
    {
        return RedirectToAction("About");
    }

URL-адрес меняется на 192.xxx.1.xx / MyApp / Home / About, но на странице отображается сообщение «Ничего не найдено» (похоже, что метод контроллера «About» не срабатывает), такое же поведение происходит, когда введите URL-адрес страницы About вручную как «192.xxx.1.xx / MyApp / Home / About» на вкладке URL браузера, где на странице отображается «Ничего не найдено», однако при изменении RouteConfig «Default» в качестве код ниже:

            routes.MapRoute("Default", 
            "{controller}/{action}", 
            new { controller = "Home", action = "About"});

и затем перейдите к 192.xxx.1.xx / MyApp, затем отобразится страница «О программе», а URL-адрес в браузере останется 192.xxx.1.xx / MyAp p,

Как разрешить вводимому вручную URL-адресу во вкладке URL-адреса браузера и RedirectToAction отображать нужную страницу «О программе»?

Примечание. Опубликованная версия на локальном компьютере не вызывает эта проблема, только размещенная на удаленном сервере версия

Пожалуйста, сообщите,

Заранее спасибо,

1 Ответ

0 голосов
/ 01 апреля 2020

Вы пытались указать больше перенаправления, что-то вроде:

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

Я пока не могу комментировать, поэтому я должен опубликовать ответ вместо

...