2

这是一个有趣的问题...

我有一个 ASP.NET 3.5 Web 应用程序。它相对简单 - 基于母版页的内容页面,页面上有几个用户控件。

页面上一共有四个控件;两个是自定义控件,两个是 Ektron CMS 控件。

出于某种原因,我收到了“系统未定义”的 Javascript 错误。Firebug 错误控制台还会引发“ASP.NET 客户端框架加载失败”错误。我无法弄清楚为什么会这样。

踢球者 - 如果我将不能完全从内容页面中删除的控件,它们就可以正常工作。这显然是内容页面中的一些东西破坏了框架,但我无法弄清楚这一点。

在发布之前,我已经浏览了几十篇文章,包括以下建议:

  • 修复 .NET 框架(无效)
  • 各种 web.config 调整(已经存在或不起作用)
  • regiis -i 命令(我认为这不会有帮助,因为当我不使用内容页面时,控件确实有效)
  • 注释掉用户控件上的自定义脚本(不起作用)
  • 注释掉页面上的其他用户控件(不起作用)
  • 创建一个空白页面并将我感兴趣的控件放在页面上(这确实有效)

有没有人见过这样的东西?它必须是该内容页面中的某些内容,但我正在为什么而苦苦挣扎。

编辑

我注意到在单步执行代码时,UserControl 的 PAGE_LOAD 事件触发了 3 次;第三次代码抛出错误。(我仍在努力解决引发的错误)

编辑

我想添加它以防其他人看到此错误。事实证明,问题是由页面模板上不需要的 Scriptmanager 引起的。

当我将 Scriptmanager 移出页面时,一切正常,框架加载错误消失了。我认为这个问题一定破坏了其他脚本并阻止它们稍后在页面下运行。

4

2 回答 2

1

您需要在页面上设置 ScriptManager 之后才能使用 Sys。ScriptManager 用于实例化 Sys 对象。

于 2011-12-07T21:42:14.793 回答
1

如果您在 ScriptResource.axd 上得到 404,那么您的 ASP.NET 安装肯定有问题。我以前有过这个,当时我没有配置正确的 ASP.NET 池。例如:在同一台服务器上可能有另一个 ASP.NET 应用程序分配给同一个池,它在 ASP.NET 2.0 下运行。您说您的应用程序在 3.5 下运行。您可以在您的机器上尝试 iisreset 然后启动您的应用程序吗?

池可能分配给错误的 .NET 版本。另一种选择可能是,.NET 3.5 根本没有安装在服务器上。

您确定该网站在没有您的内容页面的情况下运行良好吗?ScriptResource.axd 是动态生成 JavaScript 的动态处理程序。如果它不可用,则脚本无法工作。

于 2011-12-08T15:14:16.990 回答