ajaxToolKit和updatepanel一起使用时 'Sys'未定义

来源:互联网 发布:java分布式日志收集 编辑:程序博客网 时间:2024/04/28 10:33

在asp.net同一个页面中,既用到了asp.net自带的updatepanel等ajax控件(即需要使用<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>进行注册),又用到了AjaxToolKit.dll中的ajax控件(需要<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajax:ToolkitScriptManager>注册),此时不能同时用上述两种注册方法注册scriptmanager,一般采用<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></ajax:ToolkitScriptManager>注册,但是用它注册后,在script脚本中将会发现不存在sys命名空间,也就无法使用AJAX相关的很方便的函数了(如Sys.WebForms.PageRequestManager.getInstance()),此错误的解决方法是在这个页面的script的开头加入“if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();”这句话,告诉如果没有这个命名空间,则下载相关的命名空间,即可解决。

原创粉丝点击