#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:
Это было связано с проблемой кэша, которая оставалась зависшей на сервере после внесения некоторых изменений в сам отчет, по какой-то причине параметры не обновлялись, решением было удалить отчет и перезагрузить его на сервере.