Если у меня есть маршрут:
routes.MapRoute(
"RouteName", // route name
"{action}", // url with parameters
new { controller = "Home", action = "Index", id = "" } // parameter defaults
);
Я хочу, чтобы можно было получать URL-адреса вида:
http://sitename.com/about
http://sitename.com/contact
http://sitename.com/others
Это, очевидно, работает, когда в контроллере Home существует действие, которое содержит имя нужного URL. Если я ввожу ошибочный URL-адрес, такой как http://sitename.com/foo,, и действие foo не существует в контроллере Home, я бы хотел перенаправить приложение на страницу 404, не найденную, но, очевидно, если я введу foo, это будет ищем действие foo в контроллере дома. Есть ли способ остаться универсальным без жесткого кодирования всех подстраниц в global.asax. Если это вообще возможно, я хочу воздержаться от:
routes.MapRoute(
"About", // route name
"about", // url with parameters
new { controller = "Home", action = "About", id = "" } // parameter defaults
);
routes.MapRoute(
"Contact", // route name
"contact", // url with parameters
new { controller = "Home", action = "Contact", id = "" } // parameter defaults
);
Спасибо.