SSRS, передающие скрытый параметр из web.config

#c# #asp.net-mvc #reporting-services

#c# #asp.net-mvc #службы отчетов

Вопрос:

У меня есть отчет, в котором рассматривается представление таблицы с данными, я использую MvcReportViewerFluent для просмотра отчета на странице.

 @(Html.MvcReportViewerFluent(Model.ReportPath)
.ReportParameters(Model.ReportParameter)
.Attributes(new { Height = 900, Width = "100%", style = "border: none" })
.ControlSettings(new ControlSettings() {ShowExportControls=true, AsyncRendering=true, ShowReportBody=true })
)
 

В отчете есть ссылка, которая построена с помощью конкатенации различных параметров, включая параметр baseUrl скрытого типа, в течение нескольких дней этот параметр выглядит так, как будто он не был заполнен, но принял значение по умолчанию.
Для заполнения этого параметра я использую свойство ReportParameters, которому я передаю словарь с параметром.

 model.ReportParameter = new Dictionary<string, object>();
model.ReportParameter.Add("BaseUrl", ConfigurationManager.AppSettings["UrlBase"].ToString());
 

Обратите внимание, что в дополнение к этому параметру на экране представлены другие параметры, которые работают отлично.

Я также попытался сделать этот параметр видимым, и я увидел, что он даже не заполнен, странным фактом является то, что в тестовой среде он выдавал ту же проблему, которая затем решалась сама собой без внесения каких-либо изменений.

Ответ №1:

Не уверен, что именно вы имели в виду под «параметром baseUrl скрытого типа». Чтобы передать скрытые параметры в ssrs, вы просто добавляете его в строку запроса следующим образом:

[BaseurlofSSRS]?[myhiddenparamname]=[значение]

Это должно сработать.

Ответ №2:

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