Ошибка просмотра отчета. Ошибка просмотра - в поле Просмотр источника веб-страницы.
Я обнаружил следующее сообщение об ошибке, когда я проверил Просмотр источника веб-страницы, но веб-страница работает нормально. Наш тестовый результат обнаружил ошибку при выполнении тестов Assertion.
Ошибка конфигурации просмотра отчетов
Обработчик HTTP веб-контроля Report Viewer не зарегистрирован в файл приложения web.config. Добавить
<add verb=" * "
path="Reserved.ReportViewerWebControl.axd" type =
"Microsoft.Reporting.WebForms.HttpHandler,
Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
в system.web/httpHandlers раздел файла web.config или добавьте
<add
name="ReportViewerWebControlHandler" preCondition="integratedMode"
verb="*" path="Reserved.ReportViewerWebControl.axd"
type="Microsoft.Reporting.WebForms.HttpHandler,
Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
в system.webServer/обработчики раздел для информационных служб Интернета 7 или более поздней версии
Почему это сообщение об ошибке появляется в источнике просмотра.
Примечание. В этом сообщении об ошибке есть тег div, который имеет стиль = "display: none"
Я пытаюсь выяснить, почему, но все это обсудили только это сообщение об ошибке, которое было выбрано на веб-странице. Изменения, предлагаемые для web.config, уже присутствуют в нашем файле конфигурации.
Ответы
Ответ 1
Следующее было моим решением
<system.web>
<httpHandlers>
<add verb=" * "
path="Reserved.ReportViewerWebControl.axd" type =
"Microsoft.Reporting.WebForms.HttpHandler,
Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"/>
</handlers>
</system.webServer>
Ответ 2
Чтобы быть в безопасности, добавьте конфигурацию IIS6 и IIS7.
IIS6:
<system.web>
<httpHandlers>
<add verb=" * "
path="Reserved.ReportViewerWebControl.axd" type =
"Microsoft.Reporting.WebForms.HttpHandler,
Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
IIS7:
<system.webServer>
<handlers>
<add verb=" * "
path="Reserved.ReportViewerWebControl.axd" type =
"Microsoft.Reporting.WebForms.HttpHandler,
Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
</system.webServer>
Ответ 3
Я только что зарегистрировался в приложении, которое включает в себя элемент управления ReportViewer и который уже почти год выпускается без каких-либо проблем, и тот же контент находится в содержимом HTML.
Поэтому, учитывая тот факт, что этот div
не отображается (атрибут CSS display:none
), можно догадаться, что сообщение об ошибке, которое присутствует только для удобства отображения, должно произойти на самом деле. Если ошибка связана с чем-то на стороне клиента, то гораздо проще реализовать ее таким образом: все клиентские стороны script должны делать, чтобы отображать сообщение, изменяют атрибут стиля - нет необходимости манипулировать DOM для добавления сообщение об ошибке, и нет необходимости получать локализованное сообщение об ошибке на соответствующем языке в javascript (учитывая поддержку локализации ReportViewer через языковые пакеты, существует другая версия этого сообщения об ошибке на одном языке - гораздо проще справиться с этим на ASP.NET вместе со всем другим локализованным контентом, чем в браузере в javascript). Да, я здесь занимаюсь психологией!:)
Ответ 4
Вот как выглядит мое объявление управления просмотром отчета в web.config. Убедитесь, что у вас там что-то похожее. И добавьте, если у вас его нет. Версия элемента управления может быть не такой.
<configuration>
...
</system.web>
...
<httpHandlers>
...
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
...
</httpHandlers>
...
</system.web>
...
</configuration>
Ответ 5
Для IIS 7 используйте следующий код в вашем web.config
<system.webServer>
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
</system.webServer>
Ответ 6
У меня также была проблема с тем, что просмотрщик отчетов не отображается. После установки свойства отображения из браузера я получил свою ошибку как "Ошибка конфигурации Report Viewer".
Я обнаружил, что для некоторого параметра я отправляю неверные значения, т.е. "string.empty". Я изменил свой код, чтобы отправить значение или значение null в параметр. Теперь мой отчет отображается правильно. Я решил проблему, отправив правильные значения параметров отчета для отчета. Не пропустите ни одного параметра, чтобы назначить правильные значения или null.
Ответ 7
Следующий код выглядит следующим образом
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</handlers>
Ответ 8
После изменения файла web.config в зависимости от версии IIS,
попробуйте добавить эту часть кода:
if(!IsPostBack){
// Here codes about ReportViewer1
}
Вы можете проверить эту аналогичную проблему.