tslin89 Ответов: 1

Получено исключение "операция недопустима из-за текущего состояния объекта" при использовании 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.
Я думаю, что что-то изменилось на сервере отчетов, когда я нажимаю ссылку на сводный отчет. Но я не знаю, что происходит не так.
Пожалуйста помочь. И дайте мне знать, если есть еще какая-то информация, которую я должен предоставить.

Заранее спасибо.

1 Ответов

Рейтинг:
7

KisaVorobyaninov

Это решение помочь мне. Добавьте rptviewer.Reset() перед установкой учетных данных.


tslin89

Большое спасибо. Теперь это работа :D

Member 11213630

спасибо первой ссылке и ошибка решена...;)