Frage

Ich bin mit der .NET 3.5 SP1 Framework und ich habe URL in meiner Anwendung Routing implementiert. Ich war immer JavaScript-Fehler:

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

Was ich glaube, ist, weil mein Routing ist die Microsoft-axd Dateien Aufnehmen und nicht richtig JavaScript sendet nach unten. Ich habe einige Nachforschungen und fand, dass ich Routes.IgnoreRoute verwenden könnte, die es erlaubt, soll mir die axd zu ignorieren wie unten:

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

Aber, wenn ich diese Zeile zu meinem Global.asax hinzufügen, bekomme ich diesen Fehler:

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

Ich habe die System.Web.Routing Namespace bekommt importiert, irgendwelche Ideen?

War es hilfreich?

Lösung

Sie brauchen nicht ASP.NET MVC zu verweisen. Sie können die StopRoutingHandler die IRouteHandler implementiert wie so:

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

Dies ist ein Teil von SP1 .NET 3.5 und MVC nicht erforderlich. Die IgnoreRoutes Methode ist eine Convenience-Erweiterungsmethode, die einen Teil von ASP.NET MVC ist.

Andere Tipps

Eine alte Frage, aber falls es hilft immer noch jemand, das ist für mich gearbeitet:

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

Die „Ignorieren“ Methode existiert, wohingegen in den Standard ASP.NET „IgnoreRoute“ Verfahren nicht auf scheint (d.h. nicht MVC verwenden). Dies wird das gleiche Ergebnis wie Haacked den Code erreichen, ist aber etwas sauberer ...

Ich mag nur hinzufügen, dass Sie auch die Reihenfolge des IgnoreRoutes machen müssen sicherstellen, dass die Regel ist es in der richtigen Reihenfolge sonst Ihre erste Route zuerst angewandt werden und Ihre IgnoreRoute werden ... gut außer Acht gelassen werden.

MapRoute und IgnoreRoute sind Erweiterungsmethoden in System.Web.Mvc --- haben Sie, dass Montage richtig referenziert?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top