Wie erfolgt die Steuerung von Ajax Control Toolkit Arbeit in Projekt von VS2008 auf VS2010 aktualisiert machen
Frage
Ich hatte ein Arbeitsprojekt in VS2008 / .NET 3.5-Steuerelemente aus dem Ajax Control Toolkit verwenden (den Zielen .Net 3.5).
ich das Projekt in VS2010 Beta 2. Ich habe ein Upgrade wählte .Net 4.0 Ziel, damit ich die Vorteile von Routing für WebForms nehmen könnte (das funktioniert).
Wenn eine Seite mit ModalPopupExtender Lasten jedoch bekomme ich Fehler „Syntaxfehler“ Bezugnahme auf eine URI wie:
{Localhost} /WebResource.axd?d=-sR5kj2yKK777ENh8pDLSA2&t=633960551687981257.
Dann wird die Seite geladen falsch, weil die notwendigen Javascript-Dateien konnte nicht geladen werden.
Ich habe versucht, das neue Steuer Toolkit von ajax.codeplex.com Herunterladen und Verweisen auf die AjaxControlToolkit.dll innerhalb, temporäre Dateien für Rahmen Ausräumen 2.0 & 4.0, aber es machte keinen Unterschied.
Ich las dann diese Post über den Fehler weiter zu debuggen. Wenn ich die Anfragen an WebResource.axd entschlüsselt, zeigte sie Wege, die wie yay sah:
- s | WebForms.js
- ZSystem.Web, 4.0.0.0, b03f5f7f11d50a3a | WebUIValidation.js |
So Rohr begrenzt Verweise auf Dateien scheinen falsch konstruiert worden zu sein. Es scheint unwahrscheinlich, jemand würde eine Ahnung, was dagegen zu tun, aber was zum Teufel ...
Lösung
Add
RouteTable.Routes.Ignore ( "* Js");
zu RegisterRoutes in Global.ascx.cs
Andere Tipps
Sie können die Quelle von Codeplex herunterladen und es wieder aufzubauen für .NET 4.0 über VS 2010, aber ich glaube nicht, dass viel Hilfe tun.
Wenn Sie Routing verwenden, welcher Teil von .NET 3.5 (mit SP1) ist das, was Sie tun müssen, ist zu exlude * .axd Handler aus geleitet werden.
Hier ist eine Probe C # -Code, dass
zu erreichen RouteTable.Routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));