Как заставить элементы управления из ajax control toolkit работать в проекте, обновленном с VS2008 до VS2010 - PullRequest
0 голосов
/ 24 декабря 2009

У меня был рабочий проект в VS2008 / .Net 3.5 с использованием элементов управления из набора инструментов управления ajax (который предназначен для .Net 3.5).

Я обновил проект в VS2010 Beta 2. Я выбрал таргетинг на .Net 4.0, чтобы использовать преимущества маршрутизации для WebForms (которая работает).

Однако при загрузке страницы с ModalPopupExtender я получаю сообщение об ошибке «Синтаксическая ошибка» со ссылкой на URI, например:
{} Локальный /WebResource.axd?d=-sR5kj2yKK777ENh8pDLSA2&t=633960551687981257.
Затем страница загружается неправильно, потому что не удалось загрузить необходимые файлы JavaScript.

Я попытался загрузить новый инструментарий управления с ajax.codeplex.com и сослаться на AjaxControlToolkit.dll внутри, очистив временные файлы для фреймворка 2.0 и 4.0, но это не имело никакого значения.

Затем я прочитал этот пост о дальнейшей отладке ошибки. Когда я расшифровал запросы к WebResource.axd, они показали пути, похожие на yay:

  • S | WebForms.js
  • ZSystem.Web, 4.0.0.0,, b03f5f7f11d50a3a | WebUIValidation.js |

Таким образом, ссылки на файлы с разделителями по каналам, похоже, были сконструированы неправильно. Кажется маловероятным, чтобы кто-нибудь имел представление, что с этим делать, но какого черта ...

Ответы [ 2 ]

1 голос
/ 02 февраля 2010

добавить
RouteTable.Routes.Ignore ("* .js");
зарегистрироватьRoutes в Global.ascx.cs

0 голосов
/ 29 декабря 2009

Вы можете скачать исходный код из codeplex и перестроить его для .NET 4.0 через VS 2010, но я не думаю, что это сильно поможет.

Если вы хотите использовать маршрутизацию, являющуюся частью .NET 3.5 (с пакетом обновления 1), вам нужно исключить маршрутизацию обработчиков * .axd.

Вот пример кода C # для достижения этого

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

...