Задание ReportGuid из скрипта

Обсуждение Stimulsoft Reports.WEB
Ответить
exit
Сообщения: 45
Зарегистрирован: 24 июн 2014, 11:12

Задание ReportGuid из скрипта

Сообщение exit »

Насколько реально реализовать возможность задания ReportGuid
типа
@Html.Stimulsoft().StiMvcDesigner(new StiMvcDesignerOptions() {
Controller = "Config",
ReportGuid = "{{form.pk_report_id}}",
ActionGetReportTemplate = "GetReportTemplate",
..........
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Задание ReportGuid из скрипта

Сообщение Vladimir »

Здравствуйте,

Вы можете задавать ReportGuid для загружаемого отчёта в коде действия ActionGetReportTemplate или ActionCreateReportTemplate.

Спасибо.
exit
Сообщения: 45
Зарегистрирован: 24 июн 2014, 11:12

Re: Задание ReportGuid из скрипта

Сообщение exit »

Мне нужно это сделать до попадания в ActionGetReportTemplate, так как он уже должен знать какой отчет грузить.

Вот ситуация.
Компонент @Html.Stimulsoft().StiMvcDesigner(new StiMvcDesignerOptions() лежит в табе,
переходим на таб и срабатывает ActionGetReportTemplate - какой отчет(id) грузить?
Для этого я и хотел бы передать нужную информацию в ActionGetReportTemplate.
Подскажите как мне это сделать?
(как вариант - добавить параметр в StiMvcDesignerOptions)

Спасибо
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Re: Задание ReportGuid из скрипта

Сообщение Vladimir »

Здравствуйте,

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

1. Использовать URL для идентификации отчёта, например \reports\design\d14cb04ed02d73e95ce8451fe945c599, затем в действии GetReportSnapshot вы можете использовать следующий метод для получения этих значений:
RouteValueDictionary routeValues = StiMvcDesigner.GetRouteValues(this.Request);

2. Сохранять Guid отчёта в сессии или кэше сервера, а тазем читать его в действии GetReportSnapshot:
this.HttpContext.Session["key"] = "ReportGuid";
this.HttpContext.Cache["key"] = "ReportGuid";

Спасибо.
Ответить