«AjaxControlToolkit» - неопределенная ошибка - PullRequest
7 голосов
/ 19 сентября 2008

Я использую AjaxControlToolkit в VS2005, и он отлично работает. У меня действительно есть некоторые проблемы, хотя, когда я захожу на некоторые страницы, которые у меня есть, затем нажимаю назад, я получаю эту ошибку JavaScript:

AjaxControlToolkit не определено

Я искал на форумах MSDN и в Google и пробовал многие решения, но ни одно из них не сработало. Я пробовал, EnablePartialRendering="true", и другие. Если не считать переписывания всего и изменения рабочего процесса моего приложения, есть ли способ найти основную причину этого или устранить ее?

Ответы [ 6 ]

6 голосов
/ 27 января 2012

Я решил эту проблему, но не установив CombineScripts = "false", а используя решение, описанное в этом посте .

В последней версии произошли некоторые изменения, из-за которых вы должны использовать Sys.Extended.UI.BehaviorBase вместо AjaxControlToolkit.BehaviorBase в вызове registerClass.

3 голосов
/ 05 января 2011

Чтобы обойти это «AjaxControlToolkit» - это неопределенная ошибка, вы также можете убедиться, что в вашей конфигурации ToolkitScriptManager для CombineScripts установлено значение false. Это можно найти на главной странице, и это решение помогло мне.

<myTagPrefix:ToolkitScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true" SupportsPartialRendering="true" **CombineScripts="false"**>

Обратите внимание, что вы захотите изменить myTagPrefix на tagprefix, который вы используете для AjaxControlToolkit. Обычно это определяется в asp в верхней части файла aspx, как это ...

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="myTagPrefix" %>
1 голос
/ 19 сентября 2008

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

(добавление из комментария для удобства чтения)

Попробуйте добавить это в свой web.config

<system.web.extensions>
    <scripting>
        <scriptResourceHandler enableCompression="false" enableCaching="false" />
    </scripting></system.web.extensions>
0 голосов
/ 01 декабря 2010

Если ничего еще не сработало для вас. Убедитесь, что вы не кэшируете этот ascx / aspx. Удалите объявление OutputCache.

0 голосов
/ 19 сентября 2008

Как сказал [CodeRot], вам нужно убедиться, что у вас есть все расширения AJAX web.config, это наиболее часто пропускаемая точка при работе с сайтами ASP.NET AJAX (особенно из VS 2005).

Затем убедитесь, что у вас есть ScriptManager на странице (что, я полагаю, вы делаете из упоминания «EnablePartialRendering»).

Убедитесь, что вы ссылаетесь на версию AjaxControlToolkit для вашей версии .NET, она скомпилирована как для .NET 2.0, так и .NET 3.5, и я считаю, что последняя версия поддерживает только .NET 3.5.

Убедитесь, что вы добавляете на страницу клиентскую библиотеку Microsoft AJAX (что вы не получаете никаких ошибок по поводу отсутствия "Sys").

Убедитесь, что вы регистрируете AjaxControlToolkit в ASPX, ASCX или web.config.

0 голосов
/ 19 сентября 2008

Это ошибка JavaScript?

Полагаю, это связано с поддержкой кнопок назад в наборе инструментов.

А неопределенные ошибки чаще всего возникают из-за того, что скрипт, содержащий «AjaxControlToolkit», не загружается должным образом.

То, что приходит на ум:

  • Загружаются сценарии заказа, получает ли Toolkit приоритет?
  • При возникновении ошибок в любом из загруженных сценариев все остальные сценарии, которые еще не загружены, просто отменяются и не загружаются.

Просмотрите выводимый HTML-код страницы проблемы, найдите ссылки на все файлы AXD и убедитесь, что вы можете загрузить их и увидеть действительные javascripts внутри.

А если вы этого еще не сделали, получите Firefox и Firebug , и вы сможете проследить фактическую строку сценария, которая выдает ошибку.

Надеюсь, это поможет.

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