Как передать параметр в отчет с помощью URL

23.08.2017

Работая с отчетами в сети Интернет, обязательно появляется потребность передавать значения каких-либо параметров. Это, например, могут быть данные для фильтрации списков или информация о клиенте. Вызывая веб форму с отчетом, было бы удобно передать параметры с помощью URL (Universal Resource Locator). Сделать это достаточно просто.

Рассмотрим простейший пример. В шаблоне отчета есть два параметра: Param1 и Param2 типа строка:

 

Необходимо передать значения для этих параметров с помощью URL.

Создаем веб приложение ASP.Net WebForms. Размещаем на какой-либо странице компонент WebReport. Добавляем созданный шаблон отчета в проект. Кликаем правой кнопкой по папке App_Data и выбираем Add->Existing Item… . Затем находим файл отчета на жестком диске. И переходим к C# коду страницы. Прежде всего добавляем библиотеки:

1
2
using FastReport.Web;
using FastReport;

Я воспользовался событием страницы Load, так как на этом этапе отчет еще не отображается:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace URLParams
{
 public partial class About : Page
 {
 protected void Page_Load(object sender, EventArgs e)
 {
//Get parameters from URL
 string param1 = Request.QueryString["param1"];
 string param2 = Request.QueryString["param2"];
//Load report fil into WebReport object 
 
 WebReport1.ReportFile = "App_Data/URLParams.frx";
//Set value to report parameters
 WebReport1.Report.SetParameterValue("Param1", param1);
 WebReport1.Report.SetParameterValue("Param2", param2);
 }
 }
}

Обратите внимание, что имя параметра в точности соответствует имени параметра в шаблоне отчета:

1
WebReport1.Report.SetParameterValue("Param1", param1);

 Сама же строка URL выглядит так:

http://localhost:51838/About?param1=Hello%20World!&param2=Good%20job!

Функция Request.QueryString(); находит параметр по имени и возвращает его значение.

 Второй вариант, без сохранения шаблона отчета в проекте: 

1
2
3
4
5
6
7
8
9
10
 protected void Page_Load(object sender, EventArgs e)
 {
 string param1 = Request.QueryString["param1"];
 string param2 = Request.QueryString["param2"];
 Report report = new Report();
 report.Load("J:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/URLParams.frx");
 report.SetParameterValue("Param1", param1);
 report.SetParameterValue("Param2", param2);
 WebReport1.Report = report;
}

Здесь, мы создаем объект отчета, загружаем в него шаблон и назначаем параметры. После чего, присваиваем объект отчета объекту веб отчета. Простите на тавтологию. При этом, убедитесь, что свойство ReportResourceString у WebReport пусто.

Оба способа приводят к одинаковому результату:

 

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

.NET FastReport ASP.NET WebReport .NET FastReport ASP.NET WebReport
8 сентября 2026

Ответы на популярные вопросы о формате FP3

Разбираем 11 частых вопросов о формате FP3: что это за файлы, чем отличаются от FR3, какие программы их открывают и как конвертировать в PDF.
4 сентября 2026

Как из FastReport .NET экспортировать отчет в DXF

Рассмотрим способы экспорта отчета в формат DXF, а также посмотрим, как выглядит полученный результат после открытия файла в CAD-приложении.
30 июля 2026

Как из FastReport .NET экспортировать отчет в PostScript

В этой статье мы на простом примере рассмотрим экспорт отчета FastReport .NET в формат PostScript, разобрав настройку параметров и программную реализацию.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»