Кажется, я не могу понять этого. Я экспериментирую с бета-версией MVC и пытаюсь реализовать общий маршрут, чтобы, если пользователь вводит mysite.com/blah вместо mysite.com/home/index, он попадет в маршрут «Ошибка».
К сожалению, кажется, что маршрут «По умолчанию» всегда первым ловит «бла». Фактически, единственный маршрут, которым я смог добраться до маршрута "Ошибка", - это бла / бла / бла / бла.
Это так, как он должен работать, потому что я видел другие примеры, в которых маршруты «По умолчанию» и «Ошибка» настроены точно так же, и кажется, что если бы они вводили контроллер, которого не существует, он попадет в маршрут "Ошибка".
Есть ли что-то, чего мне не хватает (очень возможно), или мне просто нужно будет создать определенный маршрут для каждого контроллера?
Код, который я использую:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"Error",
"{*catchall}",
new { controller = "Base", action = "Error", id = "404" }
);
Спасибо Джефф