2013-06-05 13 views
0

저는 지금 몇 시간 동안 머물렀고 아직 저에게 적합한 해결책을 찾지 못했습니다. 나는 가능한 한 명확하게 설명하려고 노력할 것이다.ReportViewer가 페이지에 표시되지 않음

SQL Server 2008 R2를 실행하면서 IIS 7을 사용하는 호스팅 시스템에서 내 웹 사이트에 보고서 서버를 설치했습니다. http://name/Reportserver으로 이동하면 작성된 보고서를 선택하여 실행하고 올바르게 표시된 결과를 볼 수 있습니다.

내 웹 페이지 피들러은이

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> 
<%@ Import Namespace="CSI.REP.Core.Model"%> 
<%@ Import Namespace="Microsoft.Reporting.WebForms" %> 
<%@ Import Namespace="System.Security.Principal" %> 
<%@ Import Namespace="System.Net" %> 
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 


<h2><a href="/Reporting">Back to Reports</a>/<%=ViewData["Report"]%></h2> 
<form action="/Reporting/DateViewer" method="get"> 

Start Date: <input type="text" name="start" class="datepicker" value="<%=ViewData["Start"] %>" /> 
     End Date: <input type="text" name="end" class="datepicker" value="<%=ViewData["End"] %>" /> 
     <input type="hidden" name="id" value="<%=ViewData["Report"] %>" /> 
     <input type="submit" class="button" value="Run" /> 
</form> 
    <script runat="server" language="C#"> 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     try 
     { 

       if (ViewData["Start"] != null) 
       { 
        var param = new List<ReportParameter>(); 
        var start = new ReportParameter("start", ViewData["Start"].ToString()); 
        var end = new ReportParameter("end", ViewData["End"].ToString()); 
        param.Add(start); 
        param.Add(end); 
        ReportViewer1.Width = 1100; 
        ReportViewer1.Height = 900; 
        ReportViewer1.ProcessingMode = ProcessingMode.Remote; 
        IReportServerCredentials irsc = 
         new CustomReportCredentials(ConfigurationManager.AppSettings["ReportServerUser"], 
                ConfigurationManager.AppSettings["ReportServerPassword"], "Domainname"); 
        ReportViewer1.ServerReport.ReportServerCredentials = irsc; 
        ReportViewer1.ServerReport.ReportServerUrl = 
         new Uri(string.Format("http://{0}/ReportServer", 
               ConfigurationManager.AppSettings["ReportServerUrl"])); 
        ReportViewer1.ServerReport.ReportPath = string.Format("/{0}", ViewData["Report"]); 
        ReportViewer1.ServerReport.SetParameters(param); 
        ReportViewer1.ServerReport.Refresh(); 
       } 


     }catch (Exception ex) 
     { 
      Response.Write(ex.Message); 

     } 
    } 


    </script> 
    <form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
    <div> 
     <rsweb:ReportViewer ID="ReportViewer1" runat="server" 
      ProcessingMode="Remote" 
      ShowPageNavigationControls="true" 
      ShowCredentialPrompts="False" 
      ShowDocumentMapButton="False" 
      ShowExportControls="true" 
      ShowFindControls="False" 
      ShowPrintButton="True" 
      ShowPromptAreaButton="False" 
      ShowRefreshButton="False" 
      ShowToolBar="true" 
      ShowZoomControl="False" 
      SizeToReportContent="True" 
      Width="100%" Height="600px"" /> 
     </rsweb:ReportViewer> 
    </div> 
    </form> 
    </asp:Content> 

처럼, 내가 display:none<divs> 세트에 숨겨진 이상한 오류 메시지의 몇 가지를 발견했습니다 보인다.

그러나, 스크립트가 활성화되고, 좋은 측정을 위해 내 브라우저의 보안 옵션에 내 신뢰할 수있는 사이트에 사이트를 추가했습니다. Firefox, IE 및 Chrome을 사용해 보았습니다. 또한 핸들러를 system.webserver/handlers 섹션에 추가했습니다. 실행을 클릭하면 보고서가 실행되는 것처럼 보이지만 페이지는 새로 고침되지만 아무 것도 표시되지 않습니다. 매개 변수를 설정하지 않으면 매개 변수가 누락되었음을 알 수 있으므로 올바르게 렌더링되지 않는 것처럼 보입니다. 어떤 아이디어?

편집 여기

내 Web.config의의 붙여 넣기입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
      <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
       <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> 
       <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
       <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
       <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
      </sectionGroup> 
     </sectionGroup> 
    </sectionGroup> 
</configSections> 
<system.net> 
<mailSettings> 
    <smtp from="***"> 
    <network defaultCredentials="false" host="****" password="****" userName="****" /> 
    </smtp> 
</mailSettings> 
</system.net> 
<appSettings> 
    <add key="ReportServerUser" value="***" /> 
    <add key="ReportServerPassword" value="***" /> 
    <add key="ReportServerUrl" value="192.168.0.19:80" /> 
    <add key="MailAccount" value="****" /> 
    <add key="MailPassword" value="****" /> 
    <add key="AppUrl" value="****" /> 
<connectionStrings> 
     <add connectionString="Data Source=.\SQLEXPRESS;Database=CASH;User Id=***;Password=****;" name="***" providerName="System.Data.SqlClient" /> 
</connectionStrings> 
<system.web> 
<compilation debug="false"> 
<assemblies> 
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
</assemblies> 
<buildProviders> 
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</buildProviders> 
    </compilation> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/LogOn" timeout="240" /> 
    </authentication> 
    <membership> 
     <providers> 
      <clear /> 
      <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" /> 
     </providers> 
    </membership> 
    <profile> 
     <providers> 
      <clear /> 
      <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" applicationName="/" /> 
     </providers> 
    </profile> 
    <roleManager enabled="false"> 
     <providers> 
      <clear /> 
      <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
      <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </providers> 
    </roleManager> 
    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> 
     <error statusCode="403" redirect="NoAccess.htm" /> 
     <error statusCode="404" redirect="FileNotFound.htm" /> 
    </customErrors> 
<customErrors mode="Off" /> 
     <pages> 
     <controls> 
      <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </controls> 
     <namespaces> 
      <add namespace="System.Web.Mvc" /> 
      <add namespace="System.Web.Mvc.Ajax" /> 
      <add namespace="System.Web.Mvc.Html" /> 
      <add namespace="System.Web.Routing" /> 
      <add namespace="System.Linq" /> 
      <add namespace="System.Collections.Generic" /> 
     </namespaces> 
    </pages> 
    <httpHandlers> 
     <remove verb="*" path="*.asmx" /> 
     <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" /> 
</httpHandlers> 
    <httpModules> 
     <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </httpModules> 
</system.web> 
<system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5" /> 
      <providerOption name="WarnAsError" value="false" /> 
     </compiler> 
     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5" /> 
      <providerOption name="OptionInfer" value="true" /> 
      <providerOption name="WarnAsError" value="false" /> 
     </compiler> 
    </compilers> 
</system.codedom> 
<system.web.extensions /> 
<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <remove name="ScriptModule" /> 
     <remove name="UrlRoutingModule" /> 
     <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    </modules> 
    <handlers> 
     <remove name="WebServiceHandlerFactory-Integrated" /> 
     <remove name="ScriptHandlerFactory" /> 
     <remove name="ScriptHandlerFactoryAppServices" /> 
     <remove name="ScriptResource" /> 
     <remove name="UrlRoutingHandler" /> 
     <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
       <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" /> 
       <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </handlers> 
</system.webServer> 
<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
      <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
<log4net> 
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="Logs\CASH.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maximumFileSize value="100KB" /> 
    <maxSizeRollBackups value="5" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date %level %thread %logger - %message%newline" /> 
    </layout> 
</appender> 
<root> 
    <level value="ALL" /> 
    <appender-ref ref="RollingFile" /> 
</root> 
</log4net> 
</configuration> 
+0

를 얻을 수 있습니다 할 수있다 '보고서 뷰어 웹 컨트롤 HTTP 처리기가 응용 프로그램의 web.config 파일에 등록되지 않았습니다. '이것은 렌더링 문제 일 수 있습니까? ''가 web.config의 섹션에서 누락되었습니다. –

+0

이미 추가되었습니다. MSDN에 따르면 IIS 7에 대해 다음과 같이 입력합니다. ' 'system.web/handlers' 섹션에 있고,'httphandlers'는 아닙니다. 기록을 위해, 나는 그것을 시험해 보았다. –

+0

web.config (부품)을 표시 하시겠습니까? 나는이 문제가 있었기 때문에 Yuriy의 대답은 완전히 해답이었습니다. 내 web.config는 어셈블리 아래에 2 개, buildProviders 아래에 1 개, HttpHandlers 아래에 1 개 있습니다. – Shelby115

답변

0

당신은 그냥 데이터 세트 또는 전화하는거야 저장 프로 시저에 오류가 그 모든 정결의 확인 또는이 일반적인 메시지

관련 문제