3 回答

TA貢獻1809條經(jīng)驗 獲得超8個贊
我們遇到了同樣的問題,它似乎與ReportViewerForMvc中的并發(fā)錯誤有關。偶然發(fā)現(xiàn)了這個舊的github鏈接,其中包含信息和建議的修復程序。希望這有幫助。
https://github.com/nrifath2009/ReportViewerForMvc/pull/1

TA貢獻1869條經(jīng)驗 獲得超4個贊
確保 Action 沒有屬性,以確保服務器始終為每個請求計算新報告或 Set on 屬性構造函數(shù)
OutputCache
VaryByParam
使用強類型模型而不是
ViewBag
在每次調用時初始化 的新對象,而不是使用單個靜態(tài)對象。
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條經(jīng)驗 獲得超6個贊
嘗試在@Html.ReportViewer() 而不是視圖包中,使部分視圖成為“reportViewer”的強類型視圖。
之后轉到返回該部分視圖的代碼,并在返回集時將其作為返回Json(JsonResponse.Success(RenderRazorViewToString(“PrintVoucher”, reportViewer)));
- 3 回答
- 0 關注
- 153 瀏覽
添加回答
舉報