【发布时间】:2017-02-21 17:09:02
【问题描述】:
我正在使用 ajaxToolkit ToolkitScriptManager 的开箱即用脚本组合功能@ 例如:
<ajaxToolkit:ToolkitScriptManager ID="manScript" runat="server" CombineScripts="true"></ajaxToolkit:ToolkitScriptManager>
这很好用,脚本资源文件被合并,这是期望的结果,但是在某些页面上,那些使用 ValidatorCallout 的页面由于找不到脚本引用而中断:
未捕获的类型错误:无法读取未定义的属性“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)。
【问题讨论】:
标签: c# asp.net ajax ajaxcontroltoolkit toolkitscriptmanager