是的,著名的“'Sys'未定义”Microsoft JS 问题。
我已经进行了大约 4 个小时的挖掘并尝试了我能找到的所有建议,所以在您立即称其为重复项之前,请先让我出去。
最终,这个问题与 this one 完全相同,但接受的答案与我的情况无关,并且OP不再是活跃成员。
背景
此应用程序大约有一百页。它们中的每一个最终都继承自同一个基类。该基类覆盖 Init
方法并动态添加 ScriptManager
以它为第一Form
控制。
在其中的一页上,我遇到了我链接的帖子中描述的问题。我提到接受的答案是相关的。原因如下:
- 我不会做任何
Sys.
来电 - 我的页面上没有任何支持 AJAX 的控件
- 我的页面上没有任何 JavaScript
- 我的 web.config 是准确的,它包含正确的处理程序条目
- 此问题在 IIS 6.0 和 IIS 7+ 上均可重现
- 如果我通过
<asp:ScriptManager />
显式向页面添加 ScriptManager ,ScriptResource.axd 包含仍然没有渲染到输出页面 - 我尝试过清除浏览器历史记录、临时 ASP.NET 文件、重新启动等,但行为没有改变
- 旧版本的应用程序在我们的 UAT 环境中可以正常运行;从那时起,基页代码和 web.config 文件都没有更改
我完全被难住了。这是一个 ASP.NET 3.5 网站项目,运行在带有 IIS 6.0(Prod 和 UAT)的 Win Server 2003 上。我的开发环境是Win7,IIS 7.5。两种环境中的行为相同。
问题
有人有什么想法吗?我开始认为这是 ASP.NET 3.5.1 框架中的一个错误...
最佳答案
我刚刚遇到了类似的问题,似乎刚刚解决了。
如果您要覆盖页面上除 PageLoad 之外的任何其他页面生命周期事件,请确保触发该事件的基本版本。例如。我正在使用 OnPreRenderComplete
protected override void OnPreRenderComplete(EventArgs e)
{
base.OnPreRenderComplete(e); //ADDING THIS LINE FIXED THE PROBLEM
//Add THEAD etc to Gridview
if (gvQueue.Rows.Count > 0)
{
gvQueue.HeaderRow.TableSection = TableRowSection.TableHeader;
}
}
关于asp.net - “Sys”未定义 - 渲染的标记缺少对 ScriptResource.axd 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486673/