Как игнорировать маршрут в формах asp.net URL-маршрутизация
Я использую.NET 3.5 SP1 и я внедрил маршрутизацию URL в своем приложении. Я получаю ошибки JavaScript:
Error: ASP.NET Ajax client-side framework failed to load.
Resource interpreted as script but transferred with MIME type text/html.
ReferenceError: Can't find variable: Sys
Я верю в то, что моя маршрутизация - это сбор файлов Microsoft AxD и неправильная отправка javascript. Я провел небольшое исследование и обнаружил, что могу использовать Routes.IgnoreRoute
, который должен позволить мне игнорировать Axd, как показано ниже:
Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Но когда я добавляю эту строку в мой Global.asax, я получаю эту ошибку:
CS1061: 'System.Web.Routing.RouteCollection' does not contain a definition for 'IgnoreRoute' and no extension method 'IgnoreRoute' accepting a first argument of type 'System.Web.Routing.RouteCollection' could be found (are you missing a using directive or an assembly reference?)
У меня есть System.Web.Routing
импортированное пространство имен, есть идеи?
4 ответа
Вам не нужно ссылаться на ASP.NET MVC. Вы можете использовать StopRoutingHandler, который реализует IRouteHandler следующим образом:
routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));
Это часть.NET 3.5 SP1 и не требует MVC. Метод IgnoreRoutes - это метод расширения удобства, который является частью ASP.NET MVC.
Старый вопрос, но в случае, если он все еще кому-то помогает, у меня это сработало:
routes.Ignore("{resource}.axd/{*pathInfo}");
Метод Ignore существует, тогда как в стандартном ASP.NET метод IgnoreRoute, по-видимому, не используется (т. Е. Не использует MVC). Это даст тот же результат, что и код Haacked, но немного чище...
Я просто хотел бы добавить, что вы также должны убедиться, что порядок вашего правила IgnoreRoutes находится в правильном порядке, иначе ваш первый маршрут будет применен первым, а ваш IgnoreRoute... будет игнорироваться.
MapRoute и IgnoreRoute - это методы расширения в System.Web.Mvc - правильно ли указана сборка?