0

我的项目有问题。我有一个其他 4 个页面使用的母版页。在其他页面上有一个脚本管理器,在其他 div 标记中,我在文本框上使用 Ajax Accordion 控件和 Ajax Date Control 扩展器。在我的本地主机上一切正常,但是当我发布到我们的实时服务器(IIS 7,.net framework 4.0)时,所有 ajax 控件都停止响应并且网页给出了错误:

消息:“系统”未定义

一切都建立在 .net 框架 4 中,我尝试了其他版本的 Ajax 控件,但无济于事。关于此错误的其他帖子指向我的 Web 配置,但在其中放置了正确的程序集,但它仍然给我错误。这是我第一次收到错误,我已经构建了多个这样的网络应用程序。任何帮助,将不胜感激。谢谢。

4

1 回答 1

0

您的应用程序在本地和生产环境之间显然存在配置差异。您是更新整个应用程序还是只更新几个文件?

有几件事要尝试:

1

检查web.config生产环境中的文件以确保启用 ASP.NET AJAX。特别是本节:

  <system.web>
    <httphandlers>
      <remove path="*.asmx" verb="*" />
      <add path="*.asmx" verb="*" validate="false"
           type="System.Web.Script.Services.ScriptHandlerFactory, 
                 System.Web.Extensions, Version=3.5.0.0,
                 Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httphandlers>
  </system.web>

2

如果您有任何尝试访问的 Javascript,则Sys.WebForms.PageRequestManager需要确保将其放置在

3

当您使用 .NET 4 时,请尝试AjaxFrameworkMode在控件上设置属性ScriptManager

<asp:ScriptManager ID="sm1" AjaxFrameworkMode="Enabled" runat="server">

一些有用的链接

http://encosia.com/asmx-scriptservice-mistakes-installation-and-configuration/

http://encosia.com/updated-your-webconfig-but-sys-is-still-undefined/

http://www.asp.net/whitepapers/aspnet4#0.2__Toc253429253

于 2013-10-21T09:37:01.207 回答