Получено исключение "операция недопустима из-за текущего состояния объекта" при использовании SSRS из ASP.Net
- Привет!,
У меня возникла проблема при просмотре вложенного отчета SSRS из ASP.Чистая веб-форма.
У меня есть два проекта, один для SSRS, а другой для ASP.Net-да.
В проекте SSRS у меня есть два файла отчетов (Summary.rdl, Details.rdl)
Summary.rdl показывает данные отчета в одной строке, например. Код, Имя, Описание, Замечание.
"Код" , поданный из столбца сводки, имеет действие "перейти к отчету" - Details.rdl, чтобы показать выбранную строку записи в деталях.
В ASP.Net проект, у меня есть веб-форма, которая содержит -
1. некоторые элементы управления критериями отчета,
2. Microsoft.Reporting.Элемент управления WebForms.ReportViewer внутри панели (скажем, panel1)
3. кнопка с названием "btnPreview" для просмотра отчета. (Показать панель)
4. кнопка с названием "btnBack" для скрытия отчета и выбора критериев. (скрыть панель)
Когда я нажму кнопку предварительный просмотр, он покажет "Summary.rdl" с нужными критериями. Это прекрасно работает. Я меняю некоторые критерии отчета и снова нажимаю кнопку предварительный просмотр, он все еще работает, как и ожидалось.
Ошибка возникает только тогда, когда,
1. Нажмите кнопку предварительный просмотр.
2. Нажмите на колонку "код" и посмотрите подробный отчет (подробный отчет показывает правильно)
3. Закройте отчет. (просто спрячьте панель)
4. снова нажмите кнопку предварительный просмотр. Затем я получил исключение "операция недопустима из-за текущего состояния объекта".
Примечание: Если я не нажимаю на ссылку из сводного отчета, все идет нормально.
Это то, что внутри btnPreview нажмите кнопку.
pnlRptViewer.Visible = true; rptviewer.ServerReport.ReportServerCredentials = new ReportServerNetworkCredential(); rptviewer.ServerReport.ReportServerUrl = new Uri(ConfigurationManager.AppSettings["RSURL"].ToString()); rptviewer.ServerReport.ReportPath = mReportConfiguration.mReportInfo.mReportPath; rptviewer.ServerReport.GetDataSources(out allCredentialsSet); rptviewer.ServerReport.SetParameters(aReportParamsCollection); rptviewer.ServerReport.Refresh();
Это то, что внутри btnBack нажмите кнопку
pnlRptViewer.Visible = false;
Ошибка возникает при инициализации ReportServerCredentials.
Я думаю, что что-то изменилось на сервере отчетов, когда я нажимаю ссылку на сводный отчет. Но я не знаю, что происходит не так.
Пожалуйста помочь. И дайте мне знать, если есть еще какая-то информация, которую я должен предоставить.
Заранее спасибо.