Как заставить действия работать в HomeController, не вводя «Home»? - PullRequest
0 голосов
/ 28 февраля 2009

Мой HomeController контролирует некоторые страницы, такие как «Индекс» и другие, такие как «Контакты», «О нас».

Но, если я наберу:

www.blabla.com/

Будет вызван «Индекс», и он работает.

Но, если я наберу:

www.blabla.com/AboutUs

это не работает вообще! Это просто работает, если я наберу:

www.blabla.com/Home/AboutUs

Как заставить все действия в HomeController работать, не набирая перед ними "Home"?

1 Ответ

4 голосов
/ 28 февраля 2009

Вы должны составить маршрут, который выглядит следующим образом.

routes.MapRoute("AboutUs", "AboutUs",
                new
                {
                    controller = "Home",
                    action = "AboutUs"
                });

Вы можете найти свои маршруты в файле Global.asax.

Причина этого в том, что если вы проверите свой файл Global.asax, вы должны увидеть маршрут по умолчанию, который работает на маршруте контроллера / URL-адреса действия. Поэтому, если вы хотите / MyMethod, вы должны создать для него маршрут.

Вы также можете попробовать что-то вроде.

routes.MapRoute("HomeActions", "{action}",
                new
                {
                    controller = "Home",
                    action = "Index"
                });

Это должно позволить вам получить доступ ко всем действиям вашего домашнего контроллера, просто используя /.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...