【问题标题】:Problem in dynamically creating ASP.NET report viewer web control动态创建 ASP.NET 报表查看器 Web 控件的问题
【发布时间】:2011-07-28 14:04:23
【问题描述】:

我想动态创建一个 ASP.NET 报表查看器 Web 控件,但出现以下异常:

报表查看器 Web 控件需要 Web 表单上的 System.Web.UI.ScriptManager。

下面是我的代码:

    Microsoft.Reporting.WebForms.ReportViewer viewer = new Microsoft.Reporting.WebForms.ReportViewer();

    viewer.ServerReport.ReportServerUrl = "server url";
    viewer.ServerReport.ReportPath = "reprot path";

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

    form.Controls.Add(scriptManager);
    form.Controls.Add(viewer);
    page.Controls.Add(form);

    page.DataBind();  //exception here

任何想法都将不胜感激。

【问题讨论】:

    标签: .net asp.net reporting-services ssrs-2008 reportviewer


    【解决方案1】:

    尝试将以下标签添加到您的 aspx 页面:

    <asp:ScriptManager id='scriptManager' runat='server' />
    

    【讨论】:

    • Brian Scott,它在 c# 代码中,而不是在 aspx 源视图中。
    • @Pingpong:是的,但是如果您添加此标签,那么脚本管理器将作为服务器对象后面的代码出现。
    • 优秀。声明它需要放在 FORM 标记内,顺便说一句。
    【解决方案2】:

    在你的 ASPX 页面的表单标签内添加这一行

    并且必须在页面加载时使用 IsPostBack 以避免无限循环

    【讨论】:

      猜你喜欢
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多