Почему ASP.NET может помещать JavaScript в блоки комментариев HTML, а не CDATA? - PullRequest
3 голосов
/ 22 марта 2010

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

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

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

<script type="text/javascript">
//<![CDATA[
. . .
//]]>
</script>

В их среде тот же код выглядит так:

<script type="text/javascript">
<!--
. . .
//-->
</script>

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

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

Ответы [ 3 ]

3 голосов
/ 22 марта 2010

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

2 голосов
/ 22 марта 2010

Проверьте, установлен ли таким образом machine.config на компьютере развертывания:

<xhtmlConformance mode="Transitional" />

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

1 голос
/ 25 марта 2010

Добавление следующей строки в файл web.config моего приложения остановило рендеринг JavaScript в блоках, но это не решило проблему проверки.

<xhtmlConformance mode="Transitional" />

Что решило проблему проверки, так это установив .NET 2.0 Server Pack 2 на сервер. Кажется, что использование s из библиотеки MS Ajax 1.0 в .NET 2.0 может сломать ваши s, если вы не установите SP2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...