首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在某些页面上没有呈现ScriptResource.axd的脚本include?

为什么在某些页面上没有呈现ScriptResource.axd的脚本include?
EN

Stack Overflow用户
提问于 2009-01-24 20:30:16
回答 1查看 8K关注 0票数 1

我有一个使用微软Reporting ReportViewer的页面。报告似乎正常工作,但页面给我两个javascript错误,它们都“‘系统’是未定义的”。

检查html输出,我可以看到这个页面没有加载ScriptResource.axd文件。下面是从

普通页面:

代码语言:javascript
代码运行次数:0
运行
复制
<script src="/ScriptResource.axd?d=A7zLSiYT-QHoLdLnJ4qcSxAMYrwOyrYaDQLr4063d4z_oKYldDliKqXbyFe5lSU_BLW1XY7gevJ3qbD0cmlGqFb4n7TXEUowGbFVlAH6qW01&amp;t=ffffffff81a772fc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>

<script src="/ScriptResource.axd?d=A7zLSiYTQHoLdLnJ4qcSxAMYrwOyrYaDQLr4063d4z_oKYldDliKqXbyFe5lSU_pP3jafRTfoGWk6oNhALZysXq7AipBxlz6Hg1wbpmi5swSCq2gf8Ifthok9c1Qyjf0&amp;t=ffffffff81a772fc" type="text/javascript"></script>
<div>

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"  
  value="/wEWBwLqzd6VBwLe87a+BQLe87a+BQKMhJXjCwLDhbnwDQLDhc2YCALFibnGClZTK/SWwK6x3zLDgngtDRWbwIkm" />
</div>

这里是带有reportviewer控件的页面:

代码语言:javascript
代码运行次数:0
运行
复制
<script src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=9.0.30729.1&amp;Name=Microsoft.Reporting.WebForms.Scripts.ReportViewer.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function RVClientImageToggle(shouldEnable, image1Id, image2Id)
{
var enableHover = document.getElementById(image1Id);
var disableHover = document.getElementById(image2Id);
if (enableHover == null || disableHover == null)
    return;
if (shouldEnable)
{
    enableHover.style.display = "";
    disableHover.style.display = "none";
}
else
{
    disableHover.style.display = "";
    enableHover.style.display = "none";
}
}//]]>
</script>

<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWGQLrm7KJCwLe87a+BQLe87a+BQKMhJXjCwLDhbnwDQLDhc2YCALFibnGCgL4rMvOCQL4rK/NCQKp9KnKBgKp9I3JBgKQitCjCALzoZ6fCQLzoYKeCQLC2pe+DgLC2vu8DgKsmc6MBgLYo/6MDgKsz4boDQLCqZGDBgL97pJQAv3u/vQHAv3u6pkPAv3u1r4GAv3ugpYJAOTw7r3aR/RClkJpkBgvgn/NGjI=" />
</div>

您可以看到--没有对axd文件的引用

标签在这两种情况下都会产生如下结果:

代码语言:javascript
代码运行次数:0
运行
复制
    <script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ctl00$smManager', document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);
//]]>
</script>

这就是javascript错误出现的地方--引用Sys对象

那么是什么触发了不同的输出呢

EN

回答 1

Stack Overflow用户

发布于 2009-01-25 15:43:25

我仍然没有答案,但我在互联网上找到了一个解决方法:http://forums.asp.net/p/1318006/2617880.aspx#2617880

如果我将报表查看器放在用户控件中,然后将用户控件放在页面上,则表单标记将正确呈现。

请注意,我也在使用母版页,所以这可能与此有关。表单标记在母版页中,然后我有一个内容页,内容部分中有一个用户控件,然后是用户控件中的ReportViewer。这是可行的。

不起作用的是具有表单标记(runat=server)的母版页,以及在内容部分具有ReportViewer的内容页。在这种情况下,没有包含任何ASP.NET AJAX脚本,从而导致“系统未定义”错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/476614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档