【问题标题】:Microsoft JScript runtime error: 'Sys' is undefinedMicrosoft JScript 运行时错误:“Sys”未定义
【发布时间】:2011-04-20 17:24:47
【问题描述】:

我在启用 ASP.Net Ajax 的网站中遇到间歇性错误问题。我收到的错误是老忠实的“Microsoft JScript 运行时错误:'Sys' 未定义”错误。谷歌搜索此错误通常会建议将正确的“httpHandlers”和“httpModules”添加到“web.Config”文件中。该项目的 web.config 文件已经包含这两个部分的以下行。见下文:

<system.web>
    <httpHandlers>
        <remove path="*.asmx" verb="*"/>
        <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
        <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
        <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
        <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource" validate="false"/>
        <add path="Telerik.ReportViewer.axd" verb="*" type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" validate="true"/>
        <add type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" path="Telerik.ReportViewer.axd" verb="*" validate="true"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
</system.web>

错误是间歇性的,有时在调试页面时根本不出现,而其他时候它会持续出现长达一天左右的时间? 请其他人提出其他可能需要注意的领域。

顺便说一句,我们在页面上使用 Telerik ajax 控件。我们的自定义 JavaScript 之一确实在脚本管理器之前呈现。我尝试使用“RadScriptManager1.RegisterClientScriptBlock(...)”和“ClientScript.RegisterClientScriptBlock(...)”,但似乎都在“Sys.WebForms.PageRequestManager._initialize(...)”行上方呈现脚本块.

感谢任何帮助。提前致谢, 最好的祝福, 杜安。

【问题讨论】:

  • 看看这个线程检查我的问题并提供答案。 stackoverflow.com/questions/1437799/…
  • 谢谢 Muhammad,我去看看。
  • 你找到答案了吗?如果我在我的 RadScriptManager 中手动包含对 MicrosoftAjax.js 和 MicrosoftAjaxWebForms.js 的引用,它可以解决这个问题......但我宁愿不破解它。
  • @Josh - 遗憾的是,我们从来没有解决过这个问题。我最近换了工作,我们使用 ASP.Net MVC 2.0,在这里我还没有在那个环境下重复过它(还没有!)。

标签: asp.net ajax undefined sys


【解决方案1】:

而不是

Sys.WebForms.PageRequestManager._initialize(...)

做

$(document).ready(function(){
    Sys.WebForms.PageRequestManager._initialize(...)
});

(是的,jquery)

【讨论】:

  • 嗨 y34h,我不确定是否可以更改代码,因为它似乎是自动生成的..?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多