Ошибка формирования отчета

отредактировано 17:46 Раздел: FastReport .NET
Подскажите пожалуйста как исправить ошибку.
Показ модального диалогового окна или формы является допустимой операцией, только если приложение запущено в режиме UserInteractive. Для отображения уведомления из служебного приложения укажите стиль ServiceNotification или DefaultDesktopOnly.

Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.InvalidOperationException: Показ модального диалогового окна или формы является допустимой операцией, только если приложение запущено в режиме UserInteractive. Для отображения уведомления из служебного приложения укажите стиль ServiceNotification или DefaultDesktopOnly.

Ошибка источника:


Строка 34: WebReport1.Report.SetParameterValue("Month", DropDownList1.SelectedValue.ToString());
Строка 35: WebReport1.Report.SetParameterValue("Year", DropDownList2.SelectedValue.ToString());
Строка 36: WebReport1.Report.Show();
Строка 37: }
Строка 38: }

Комментарии

  • отредактировано 17:46
    Здравствуйте,

    Компонент WebReport не поддерживает диалоги в отчете. Они работают только в winforms.
  • отредактировано 17:46
    Дело в том что я не использую диалоги.Все параметры поступают из контролов приложения.
  • отредактировано 17:46
    Как можно отключить диалоги в отчете?
  • отредактировано 17:46
    У страниц диалогов надо поставить Visible = false:
    foreach (PageBase page in WebReport1.Report.Pages)
    {
      if (page is DialogPage)
        page.Visible = false;
    }
    

    Этот код надо выполнить в событии WebReport.StartReport.
  • отредактировано 17:46
    Какое пространство имен использует DialogPage?
  • отредактировано 17:46
    нашел FastReport.Dialog;
  • отредактировано 17:46
    Сделал как вы сказали но ничего не изменилось
    protected void WebReport1_StartReport(object sender, EventArgs e)
    {
    WebReport1.Report.SetParameterValue("Login", LoginName1.Page.User.Identity.Name.ToString());
    WebReport1.Report.SetParameterValue("Month", DropDownList1.SelectedValue.ToString());
    WebReport1.Report.SetParameterValue("Year", DropDownList2.SelectedValue.ToString());
    foreach (PageBase page in WebReport1.Report.Pages)
    {
    if (page is DialogPage)
    page.Visible = false;
    }
    }
  • отредактировано 17:46
    Это должно сработать, если приложение запущено в режиме FullTrust. В противном случае, диалоговые формы надо удалить из файла отчета вообще (в дизайнере, т.к. с помощью кода в режиме MediumTrust этого сделать нельзя).

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.