ReportViewerForMvc 报告内容为空白
ReportViewerForMvc report content is blank
我创建了一个只有背景图片的 .rdlc。
当我在 mvc 视图页面中呈现报表时,reportviewer 有空白内容。
但如果我下载为 pdf、excel 或 word,它有内容。
在控制器页面
ReportViewer rv = new ReportViewer();
rv.Height = Unit.Parse("100%");
rv.Width = Unit.Parse("100%");
rv.LocalReport.DataSources.Clear();
rv.ProcessingMode = ProcessingMode.Local;
rv.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath)
+ @"Report\Test.rdlc";
rv.LocalReport.Refresh();
ViewBag.ReportViewer = rv;
return View(RM);
在 .cshtml 页面中
<div class="row">
<div class="col-sm-offset-1 col-sm-10">
<button>Generate</button>
@if (ViewBag.ReportViewer != null)
{
@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer, new { @style = "width:100%;height:600px" })
}
</div>
</div>
在 .aspx 页面中
<%@ Page Language="C#" AutoEventWireup="True" Inherits="ReportViewerForMvc.ReportViewerWebForm" %>
<%@ 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 style="margin: 0px; padding: 0px;">
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="ReportViewerForMvc" Name="ReportViewerForMvc.Scripts.PostMessage.js" />
</Scripts>
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" AsyncRendering="false" runat="server"
Width="100%" Height="600px"></rsweb:ReportViewer>
</div>
</form>
</body>
</html>
输出
在这里您可以找到解决此问题的方法 SO question。
这些样式和元素似乎是为在 Internet Explorer 上使用而构建的。
我创建了一个只有背景图片的 .rdlc。
当我在 mvc 视图页面中呈现报表时,reportviewer 有空白内容。 但如果我下载为 pdf、excel 或 word,它有内容。
在控制器页面
ReportViewer rv = new ReportViewer();
rv.Height = Unit.Parse("100%");
rv.Width = Unit.Parse("100%");
rv.LocalReport.DataSources.Clear();
rv.ProcessingMode = ProcessingMode.Local;
rv.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath)
+ @"Report\Test.rdlc";
rv.LocalReport.Refresh();
ViewBag.ReportViewer = rv;
return View(RM);
在 .cshtml 页面中
<div class="row">
<div class="col-sm-offset-1 col-sm-10">
<button>Generate</button>
@if (ViewBag.ReportViewer != null)
{
@Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer, new { @style = "width:100%;height:600px" })
}
</div>
</div>
在 .aspx 页面中
<%@ Page Language="C#" AutoEventWireup="True" Inherits="ReportViewerForMvc.ReportViewerWebForm" %>
<%@ 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 style="margin: 0px; padding: 0px;">
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="ReportViewerForMvc" Name="ReportViewerForMvc.Scripts.PostMessage.js" />
</Scripts>
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" AsyncRendering="false" runat="server"
Width="100%" Height="600px"></rsweb:ReportViewer>
</div>
</form>
</body>
</html>
输出
在这里您可以找到解决此问题的方法 SO question。
这些样式和元素似乎是为在 Internet Explorer 上使用而构建的。