Я новичок в ASP.NET MVC и слежу за онлайн-руководством по созданию примера проекта перед тем, как создать производственный проект для моей стажировки.
В этом проекте мы следуем основным лесам MVC и создаем два разных контроллера. Первый контроллер - это HomeController по умолчанию, который отображает страницу с указанием URL:
- example.com
- example.com / дом
- example.com / дом / индекс
Я сделал вывод, что это потому, что в файле RouteConfig аргумент defaults:
содержит controller="home", "action="index"
Однако, после создания моего собственного контроллера и сопоставления маршрута с ним, используя routes.MapRoute
в том же формате, что и HomeController:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
name: "Process",
url: "Process/{action}/{id}",
defaults: new { controller = "Process", action = "List", id = UrlParameter.Optional });
Кажется, что новый маршрут будет работать, только если я укажу example.com/process/list, а не по умолчанию example.com/process/list, если "/ list" опущен.
Есть ли что-то особенное в обычном шаблоне HomeController, которое определяет ту же страницу, возвращаемую по разным URL-адресам?