Ken*_*enD 5 asp.net reportviewer reporting-services
我在使用标准 ASP.NET ReportViewer 控件(v11、SQL 2012、VS 2012)时遇到问题。这之前在某个时候可以工作,连接到远程 SSRS 服务器,但在网站的开发过程中,有些东西破坏了它,我正在努力找出原因。
如果我创建一个简单的表单:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReportTest.aspx.cs" Inherits="ReportTest" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
This is a test!
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote">
<ServerReport ReportPath="/Reports/MyTestReport" ReportServerUrl="http://sqlserver/reportserver" />
</rsweb:ReportViewer>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
..并运行它,浏览器上不会显示任何内容。甚至连文本也没有This is a test!,这表明服务器端有什么东西“崩溃”了。支持这个理论,使用 Fiddler 我可以看到没有尝试联系报表服务器。
我已在 Visual Studio 中打开所有异常捕获,但没有捕获任何内容,并且在输出中看不到任何明显的内容。ReportViewer 控件在设计模式下正确显示,并且我已重新安装 ReportViewer 可再发行组件。
我发现了这个问题,或者更确切地说是两个问题:
我需要在页面上有一个 ScriptManager。使用上述测试网页创建一个全新的项目会引发有关 ScriptManager 要求的错误,尽管原始项目中的测试页面(实际上是我的原始生产页面)并没有抱怨缺少 ScriptManager。一定是我误删了原来的ScriptManager。为了解决这个问题,我需要添加的是:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
Run Code Online (Sandbox Code Playgroud)其次 - 这是在生产代码本身中 - 我有参数
ShowParameterPrompts="True"
定义此选项后,页面将无法加载,并出现与上面相同的错误。但是,删除该选项可以使页面正常加载。
| 归档时间: |
|
| 查看次数: |
17239 次 |
| 最近记录: |