Как исправить ReportViewer, показывающий один и тот же отчет нескольким пользователям в ASP.NET MVC? - PullRequest
0 голосов
/ 31 января 2019

Я написал систему, использующую ASP.NET MVC, которая генерирует различные финансовые отчеты.Каждый отчет находится в собственном контроллере, каждый контроллер имеет свое собственное действие «Отчет».Действие Представляет частичное представление с отчетом в ViewBag, который он передает в javascript во внешнем интерфейсе, и помещает визуализированный элемент в диалоговое окно JQueryUI.

Пользователь может запустить отчет по балансу, после чего другой пользователь может запуститьотчет о прибылях и убытках, после того как первый пользователь запустит отчет о балансе и вместо просмотра отчета о доходах второй пользователь увидит баланс.

Этот код возвращает отчет в виде объекта JSON

 //Initialize report and add datasources etc.
 reportViewer.LocalReport.Refresh();
 ViewBag.ReportViewer = reportViewer;

 return Json(JsonResponse.Success(RenderRazorViewToString("PrintVoucher", null)));

Вот частичный вид

@using ReportViewerForMvc;


<div class="col-md-12 col-lg-12 col-sm-12 col-xs-12">
    @Html.ReportViewer(ViewBag.ReportViewer as Microsoft.Reporting.WebForms.ReportViewer)
</div>

Буду признателен за любые советы или рекомендации!

1 Ответ

0 голосов
/ 31 января 2019

Попробуйте сделать частичное представление строго типизированным для " reportViewer ", используя его в @ Html.ReportViewer (), а не в сумке представления.

После этого перейдите к кодукоторый возвращает это частичное представление, и по возвращении устанавливает, что возвращает Json (JsonResponse.Success (RenderRazorViewToString ("PrintVoucher", reportViewer)));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...