AjaxControlToolkit объединяет сценарии Sys.Extended.UI undefined
Я использую готовую комбинацию сценариев ajaxToolkit ToolkitScriptManager
например:
<ajaxToolkit:ToolkitScriptManager ID="manScript" runat="server" CombineScripts="true"></ajaxToolkit:ToolkitScriptManager>
Это работает нормально, файлы ресурсов скрипта объединяются, что является желаемым результатом, однако на некоторых страницах, которые используют ValidatorCallout, происходит сбой из-за отсутствия ссылки на скрипт:
Uncaught TypeError: Невозможно прочитать свойство 'UI' из неопределенного
Пример:
Sys.Application.add_init(function() {
$create(Sys.Extended.UI.ValidatorCalloutBehavior, {"ClientStateFieldID":"ctl00_ucBookingOverlayForm_vceEmailRfv_ClientState","closeImageUrl":"/WebResource.axd?d=f1QpGIE3tIwIlwHDSgFaMKzu_EDD74IJxTW0wu5XFBsijDtCLxDaIo2PLWkvmpuVhGM3qlhvBO657x4jHl-GgLAybfgjNbFabkTpkICSknrDRSEDk5EuUA23IYRXprVpF1a4fg2\u0026t=636155032911179735","highlightCssClass":"error","id":"ctl00_ucBookingOverlayForm_vceEmailRfv","warningIconImageUrl":"/WebResource.axd?d=J2f54MGVNKrbG7KUyE1UxWfAcESo9_Mj-3_tX4cOIGXtDsrNI96CS2rrIj0oLhO9ioIMaeIGa4hw-cuLd_AbF7V_P4hYubyJCjWCGBeOh8DYw-SCx23Kl5noFRHYQAgpnIVCKOe3QyH3vNqc8QhIYA93_YU1\u0026t=636155032911179735"}, null, null, $get("ctl00_ucBookingOverlayForm_reqLocation"));
});
Это не найти Sys.Extended.UI.ValidatorCalloutBehavior
по какой-то причине. Я предполагаю, что функция объединения сценариев не включает этот сценарий? Потому что ошибка решается настройкой CombineScripts="false"
Это не решение, хотя мне нужна функция объединения сценариев.
Я не могу выполнить обновление до новой версии AjaxControlToolkit, поскольку используемая CMS зависит от этой конкретной версии (4.1.60919.0).
1 ответ
Хотя я не могу определить причину этого поведения, вы можете попытаться перенаправить вашу старую сборку на новую версию, например:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="AjaxControlToolkit" publicKeyToken="28f01b0e84b6d53e" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.60919.0" newVersion="16.1.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>