Comment ignorer la route asp.net acheminement de l'url des formulaires

j'utilise le framework .NET 3.5 SP1 et j'ai implémenté le routage D'URL dans mon application. J'ai été faire des erreurs 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

ce qui, je crois, est dû au fait que mon routage capte les fichiers Microsoft axd et n'envoie pas correctement le javascript. J'ai fait quelques recherches et découvert que je pouvais utiliser Routes.IgnoreRoute, ce qui devrait me permettre d'ignorer la axd comme ci-dessous:

Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

mais, quand j'ajoute cette ligne à mon Global.asax-je obtenir ce erreur:

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?)

j'ai System.Web.Routing espace de noms importés, des idées?

22
demandé sur luviktor 2008-11-07 23:01:32

4 réponses

Vous n'avez pas besoin de référence ASP.NET MVC. Vous pouvez utiliser le StopRoutingHandler qui implémente IRouteHandler comme suit:

routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));

ceci fait partie de .NET 3.5 SP1 et ne nécessite pas MVC. La méthode IgnoreRoutes est une méthode d'extension de commodité qui fait partie de ASP.NET MVC.

39
répondu Haacked 2008-11-09 15:47:37

une vieille question mais au cas où cela aiderait encore quelqu'un, cela a fonctionné pour moi:

routes.Ignore("{resource}.axd/{*pathInfo}");

la méthode "Ignore" existe, alors qu'en standard ASP.NET la méthode" IgnoreRoute " ne semble pas le faire (c.-à-d. qu'elle n'utilise pas MVC). Cela permettra d'obtenir le même résultat que le code de Haacked, mais est légèrement plus propre ...

8
répondu Ed Graham 2011-10-25 13:02:49

je voudrais juste ajouter que vous devez également vous assurer que la commande de votre IgnoreRoutes règle est dans le bon ordre, sinon votre premier itinéraire sera d'abord appliquée et votre IgnoreRoute volonté... bien être ignoré.

3
répondu Omenof 2009-04-05 22:54:59

MapRoute et IgnoreRoute sont des méthodes d'extension dans le système.Web.Mvc - - avez-vous cette assemblée correctement référencée?

1
répondu Dan Esparza 2008-11-07 20:09:21