我想在呈现 ASCX 文件的参数搜索 portlet 中包含 ReportViewer 控件。
我将 RDLC 文件放在内容存储库中,并且它作为二进制流被正确检索
<%
....
//retrieve rdlc file
string Path = "/Root/Global/renderers/ReportFiles/Report1.rdlc"
Node node = Node.LoadNode(Path);
var binaryData = node.GetBinary("Binary");
System.IO.Stream stream = binaryData.GetStream();
//setup report
ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.LoadReportDefinition(stream);
ReportDataSource datasource = new ReportDataSource("Results", dsResults.Tables[0]);
ReportViewer1.LocalReport.DataSources.Add(datasource);
%>
<div id="rptvwr">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="600">
</rsweb:ReportViewer>
</div>
这会导致“路径中的非法字符”错误消息。
在我稍微改变了我的代码之后,我现在有以下情况:
当我使用
<asp:Scriptmanager>
ReportViewer 控件所需的标记时,我收到一条错误消息,指出每页只允许一个 ScriptManager当我使用
<asp:ScriptManagerProxy>
标签时,我收到一条错误消息,说明Portlet 错误:报表查看器 Web 控件需要 Web 表单上的 System.Web.UI.ScriptManager。