首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >报表查看器为空

报表查看器为空
EN

Stack Overflow用户
提问于 2014-06-14 14:47:03
回答 1查看 312关注 0票数 0

使用visual studio 2012。我需要在网页的div中加载我的报表查看器。但它将是空白的。一个单独的网页可以很好的工作,但是当我想在我的内容页面中的一个部分中加载它时,它是空白的。我的代码中使用报表查看器的部分:

代码语言:javascript
复制
          // add a div dynamically
        HtmlGenericControl div = new HtmlGenericControl("div");
        div.Attributes.Add("id", "chart05");
        div.Attributes.Add("runat", "server");
        div.Attributes["class"] = "chartItem";
        sanaChartsContainer.Controls.Add(div);    
        Microsoft.Reporting.WebForms.ReportViewer viewer = new Microsoft.Reporting.WebForms.ReportViewer();
        viewer.Attributes.Add("id", "ReportViewer");
        viewer.Attributes.Add("runat", "server");
        viewer.Attributes.Add("Font-Names", "Verdana");
        viewer.Attributes.Add("Font-Size", "8pt");
        viewer.Attributes.Add("Height", "50px");
        viewer.Attributes.Add("ProcessingMode", "Remote");
        viewer.Attributes.Add("WaitMessageFont-Name", "Verdana");
        viewer.Attributes.Add("WaitMessageFont-Size", "14pt");
        viewer.Attributes.Add("Width", "50px");
        viewer.Attributes.Add("AsyncRendering", "false");
        viewer.ServerReport.Refresh();
        viewer.ShowParameterPrompts = false;
        Uri baseUri = new Uri("http://mdb165.cbi.net/reportserver");

        viewer.ServerReport.ReportServerUrl = baseUri;
        viewer.ServerReport.ReportPath = "/SanaII/report005";

        System.Web.UI.ScriptManager scriptManager = new ScriptManager();
        Page page = new Page();
        System.Web.UI.HtmlControls.HtmlForm form = new HtmlForm();

        //div.Controls.Add(scriptManager);
        div.Controls.Add(viewer);           

我的web配置是:

代码语言:javascript
复制
  <configuration>
  <system.web>
    <compilation debug="true">    
      <buildProviders>
        <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
      </buildProviders>
    </compilation>
    <httpHandlers>
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false"/>
    </httpHandlers>
  </system.web>
  <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>
  </system.webServer>
</configuration>

我还在页面中添加了脚本管理器,但报表查看器为空。

我还尝试将其直接加载到我的内容页面中,如下所示:

但这也是不起作用的,是空白的。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2014-07-08 15:07:04

你试过在你的Page_Load中添加if(!IsPostBack)吗?

代码语言:javascript
复制
   protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SetDate();
                BindCustomerCategory();
                BindUtility();
            }

        }

或者这是不是行不通。仔细检查报表页面的aspx,您可能会忘记一些东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24217379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档