Я не могу понять это. Я экспериментирую с бета-версией MVC и пытаюсь реализовать универсальный маршрут так, чтобы, если пользователь вводит mysite.com/blah вместо mysite.com/home/index, он попадает в маршрут «Ошибка».
К сожалению, кажется, что маршрут "Default" всегда сначала ловит "бла". Фактически, единственный путь, по которому я смог добраться до маршрута «Ошибка», это бла / бла / бла / бла.
Так ли это должно работать, потому что я видел другие примеры, в которых маршрут «По умолчанию» и «Ошибка» настроен именно так, и кажется, что если бы они вводили контроллер, который не ' Если бы он существовал, он попал бы по маршруту «Ошибка».
Есть ли что-то, что я пропускаю (очень возможно), или мне просто нужно создать определенный маршрут для каждого контроллера?
Код, который я использую:
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" }
);
Спасибо,
Джефф