解决AJAX提示SYS未定义一例

程序中采用UpdatePanel控件实现了网站的局部刷新功能,本地的环境为AJAX2.0,asp.net2.0,VS2005。本地测试一切正常,但上传之后就出现SYS未定义的错误。

百度、GG一下,上面的解决方案基本全是抄来抄去的,不过是内容多少而已。按照这些抄来抄去的文章,挨个试下去,还是不行,问题依旧。正在几近绝望的时候,突然想起来,前几天做过一次很相似的系统,当时没发现问题,遂做了一个最简单的测试文件。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <div>
                <asp:UpdatePanel ID="UpdatePanelGridDetail" runat="server">
                <ContentTemplate>   
                             
                </ContentTemplate>
                </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

将上述代码分别上传至两台服务器,发现原来的服务器没有问题,现在的则还是出现SYS未定义。仔细想想这两台服务器的区别,想起来原来的服务器在调试大文件上传的时候,改过服务器的.net版本,当时采用的是.net 4.0集成,再看看现在的服务器环境,发现是.net2.0,虽然本地也是采用的2.0,但感觉问题应该就是个原因。

将服务器的环境由.NET Framework V2.0/V3.0/V3.5(经典)改为.NET Framework V4.0(集成),再测试,问题解决。

顺带说一下,我的网站采用是虚拟主机,环境在虚拟主机的控件面板里设置的。

原文地址:https://www.cnblogs.com/superfeeling/p/2823240.html