Следовали ли вы совету внизу страницы, добавляя маршрут «поймать все», который соответствует вашему действию «Не найден»:
routes.MapRoute("Catch All", "{*path}",
new { controller = "Error", action = "NotFound" });
Если вы сделаете этот маршрут самым последним, выдобавьте, что любые "неизвестные" URL-адреса будут сопоставлены непосредственно с вашим действием "NotFound" на ErrorController
, и вы можете просто вернуть представление "not found" непосредственно оттуда, переадресация не требуется.