sys未定义的解决方案 asp.net ajax
2009-08-04 09:47
误:在Ajax应用中自定义脚本时出现"Sys未定义"的错误。
解决方法1:把取得PageRequestManager实例的语句(如:var prm = Sys.WebForms.PageRequestManager.getInstance();
)放在函数里面。
解决方法2:把js代码放在ScriptManager控件定义之后。
原因分析:ScriptManager控件放在body中
而javascript代码放在了ScriptManager控件之前的位置
因为html是逐行加载的
由于var prm = Sys.PageRequestManager.getInstance();
在加载ScriptManager控件的js代码之前就被调用了,
所以就出现了Sys未定义的情况
解决方法3:(这个我试成功的!)
在配置文件的 <system.web>节点下加入
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
解决方法4:
引用了"System.Web.Extensions.dll"就ok了。
web.config配置如下:
<?xml version="1.0"?>
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>
<connectionStrings>
<add name="dynetdata" connectionString="Data Source=192.168.7.10;Initial Catalog=DyNet;Persist Security Info=True;User ID=dynetuser;Password=nmamtf" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只应在开发过程中设置
此值。
Visual Basic 选项:
设置 strict="true" 将禁止所有会导致
数据丢失的类型转换。
设置 explicit="true" 将强制声明所有变量。
-->
<authorization>
<allow users="?"/>
</authorization>
<httpRuntime executionTimeout="160"/>
<sessionState timeout="120"/>
<compilation debug="true" strict="false" explicit="true">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.Desktop.Report, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
<add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</buildProviders>
</compilation>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<authentication mode="None"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<httpHandlers>
<add path="CrystalImageHandler.aspx" verb="GET" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>
</system.web>
</configuration>
分享到:
相关推荐
个方法绝对it560原创,而且会让大家少走弯路,对于网上流传的webconfig配置错误的说法绝对是忽悠人,配置文件错误的记录大概是0.1%
用Asp.net2.0开发的系统,使用了Ajax技术,在本地没有任何问题!但是发布到Web托管服务器上后,系统总是出现“Sys 未定义”的错误!
vs2008中 Ajax错误: Sys未定义 vs2008中 Ajax错误: Sys未定义
sys未定义的解决方法sys未定义的解决方法
FineUI(开源版)基于 ExtJS 的开源 ASP.NET 控件库。FineUI的使命创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序。支持的浏览器IE 8.0+、Chrome、Firefox、Opera、...
FineUI(ASP.NET控件) v6.1.0 更新日志 修正无法在后台切换工具栏显示状态的问题。 修正下拉列表后台绑定后,可能会出现F_STATE验证出错的问题。 修正AjaxTimeout无效的问题。 全局配置参数...
解决asp.net 在IE11下出现 “__doPostBack”未定义”的问题. 使用方法:解压后复制到网站根目录即可
.Net4.0下ASP.NET在IE10以上版本访问的时候,遇到分页或者控件回发的时候会提示doPostBack未定义,这个补丁是用来在服务器端修正这个问题,安装完需要重启。如不想在服务器修正,可以看 ...
解决.net4.5+解决WebForm_InitCallback() 未定义问题,直接在问题页面引用即可。
.Net4.0下ASP.NET在IE10以上版本访问的时候,遇到分页或者控件回发的时候会提示doPostBack未定义,这个补丁是用来在服务器端修正这个问题,安装完需要重启。如不想在服务器修正,可以看...
主要解决在单例模式下类中声明静态指针存储单例对象,在.cpp文件中编译时显示未定义的解决办法: 参考博客: http://bbs.csdn.net/topics/10439749
一、 加载WebBrowser控件,设置url; 2 二、 WebBrowser加载完毕,触发...备注:如果没有前两步,会报错:window.external未定义或不存在; 3 五、 遇到的坑,填补方法--传值,IE版本: 3 六、 参考资料: 3
针对.Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法
知识点:try-catch-finally语句处理异常 try{ //需要监视异常的代码块,该区域如果发生异常就匹配catch来决定程序如何处理 } catch(异常类型1 异常的变量名1){ //处理异常语句组1 } catch(异常类型2 异常的变量名2)...
未定义指令异常测试代码
当ARM 处理器或协处理器遇见不能处理的指令时,产生为定义异常。可使用该异常机制进行软件仿真(异常向量:0x0000,0004); 3、软件中断(优先级6) 有执行SWI 指令产生,可用于用户模式下程式调用...
梅花雨Calendar控件
1.检查web.config中是否加入对于asp.net ajax的支持的代码 2.检查ScriptManager中是否设置了EnableMethods=true 3.检查后台cs中是否引用的命名空间System.Web.Services或者加入了[System.Web.Services.WebMethod] 4....