Microsoft JScript运行时错误:'Sys'未定义

时间:2009-12-19 02:07:14

标签: asp.net javascript asp.net-ajax

我有一个页面,上面有以下代码:

<script type="text/javascript" language="javascript">
    /// <reference name="MicrosoftAjax.js" />

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args)
    {
        ToggleTimeDiv();
    }
</script>

当页面加载时,我收到以下错误:

  • Microsoft JScript运行时错误:'Sys'未定义

我正在使用Visual Studio 2008标准版。导致此错误的原因是什么?

4 个答案:

答案 0 :(得分:37)

你的<script>块是否先于ScriptManager?

答案 1 :(得分:6)

您应该将脚本代码放在最后 在您的所有内容之后,但在结束标记之前。 在末端表格标签和结束身体标签之间  这是你的代码 需要,在合适的地方:

   <html>

  ...
   </head>
   <body>
    <form id="form1" runat="server">
     ...
    </form>


    enter code here
     <script type="text/javascript" language="javascript">
  /// <reference name="MicrosoftAjax.js" />

  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

  function EndRequestHandler(sender, args)
  {
      ToggleTimeDiv();
  }
  </script>




   </body>
      </html>

答案 2 :(得分:4)

你有吗

<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>

位于页面顶部..我遇到了同样的问题..添加了这个并且有效...

答案 3 :(得分:1)

如果您使用的是ASP.NET路由,请在global.asax

中使用此行
    void Application_Start(object sender, EventArgs e)
    {
       RouteTable.Routes.Ignore("{resource}.axd");
    }