Почему ASP.NET может размещать JavaScript в блоках комментариев HTML, а не в CDATA?

У нас есть приложение ASP.NET 2.0 WebForms, которое использует MS Ajax 1.0. Он отлично работает во всех наших средах (dev, test, IE6 VM и т.д.). Однако на клиентском сайте проверка на стороне клиента не происходит.

В настоящее время мы пытаемся устранить все различные факторы, и по пути мы попросили их получить источник своей страницы и отправить ее нам, и мы нашли что-то интересное.

В нашей среде наша страница имеет ASP.NET javascript в блоках CDATA:

В своей среде тот же код выглядит следующим образом:

Это может быть красная селедка, но я хотел бы исключить ее как причину проблем проверки.

Кто-нибудь знает, сделают ли это конкретные конфигурации/патчи/версии ASP.NET?

3 ответа

Проверьте, установлен ли файл machine.config на машине развертывания:

Вместо него может быть установлено "legacy".


Возможно, это связано с тем, как (или) страницы отображаются как XHTML. В файле web.config найдите элемент xhtmlConformance. В ваших примерах версия в вашей среде будет правильным использованием в xhtml, но версия в их среде выглядит как устаревший HTML, а не xhtml.


При добавлении следующей строки в мое приложение web.config остановил JavaScript, который был отображен в блоках, он не устранил проблему проверки.

В чем проблема с проверкой была установлена ​​на сервере .NET 2.0 Server Pack 2. Похоже, что использование s из библиотеки MS Ajax 1.0 на .NET 2.0 может сломать ваш s, если вы не установите SP2.

licensed under cc by-sa 3.0 with attribution.