3 回答
TA贡献1809条经验 获得超8个赞
我们遇到了同样的问题,它似乎与ReportViewerForMvc中的并发错误有关。偶然发现了这个旧的github链接,其中包含信息和建议的修复程序。希望这有帮助。
https://github.com/nrifath2009/ReportViewerForMvc/pull/1
TA贡献1869条经验 获得超4个赞
确保 Action 没有属性,以确保服务器始终为每个请求计算新报告或 Set on 属性构造函数
OutputCache
VaryByParam
使用强类型模型而不是
ViewBag
在每次调用时初始化 的新对象,而不是使用单个静态对象。
ReportViewer
在控制器上使用操作并将报表对象传递到 PartialView,Razor 引擎将使用模型处理 Partial View,并生成 HTML 标记作为 json 调用的返回。
PartialView
这是控制器和视图的工作示例(我使用Bootbox而不是JqueryUI)
控制器:
[HttpPost, ValidateAntiForgeryToken]
public PartialViewResult Report(/*Pass Optional Parameters If Required*/)
{
var reportViewer = new ReportViewer();
//reportViewerInitialization
return PartialView("PrintVoucher", reportViewer);
}
用于加载报表视图的 JavaScript 方法
function showReport(reportControllerName)
{
var dialog = bootbox.dialog({
message: '<p><i class="fa fa-spin fa-spinner"></i> Loading...</p>'
});
$.ajax({
type: "POST",
url: '/'+ reportControllerName +'/Report/',
data: {/*DataPassed To The Report Action*/},
success: function (data) {
//data Field will contain an Html markup resulted from razor engine process for PrintVoucher PartialView
dialog.find('.bootbox-body').html(data);
}
});
}
PrintVoucher.cshtml
@using ReportViewerForMvc;
<div class="container">
<div class="row">
<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
@Html.ReportViewer(Model as Microsoft.Reporting.WebForms.ReportViewer)
</div>
</div>
</div>
TA贡献1824条经验 获得超6个赞
尝试在@Html.ReportViewer() 而不是视图包中,使部分视图成为“reportViewer”的强类型视图。
之后转到返回该部分视图的代码,并在返回集时将其作为返回Json(JsonResponse.Success(RenderRazorViewToString(“PrintVoucher”, reportViewer)));
- 3 回答
- 0 关注
- 126 浏览
添加回答
举报