在ASP.NET中的子控件中创建ASP.NET ReportViewer;文档结构图按钮中断

2024-04-12

我们在使用 Visual Studio 2008 ReportViewer 控件时遇到了一个奇怪的问题。具体来说,当我们在页面上有一个子控件,并且子控件本身承载一个报表查看器,并且该报表具有文档结构图时,显示/隐藏文档结构图按钮上的回发似乎会丢失,因此文档结构图永远不会丢失消失。我玩了 IPostBackEventHandler 但似乎没有取得任何进展; ReportViewer 本身实现了该接口,所以我认为我并不关心。无论如何,这是代码:

默认.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ReportViewerDocumentMapButtonStrippedExample._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div runat="server" id="div">

    </div>
    </form>
</body>
</html>

默认.aspx.cs:

using System;

namespace ReportViewerDocumentMapButtonStrippedExample {
    public partial class _Default : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
        }

        protected override void CreateChildControls() {
            base.CreateChildControls();
            FindControl("div").Controls.Add(new rvControl());
        }
    }
}

rvControl.cs:

using System.Collections.Generic;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using Microsoft.Reporting.WebForms;

namespace ReportViewerDocumentMapButtonStrippedExample {
    public class rvControl : HtmlGenericControl {

        protected override void CreateChildControls() {
            base.CreateChildControls();
            var rvMain = new ReportViewer {
                EnableViewState = true,
                ProcessingMode = ProcessingMode.Remote,
                ShowRefreshButton = false,
                AsyncRendering = true,
                Width = new Unit(100, UnitType.Percentage),
                Height = new Unit(2000, UnitType.Pixel),
                ShowCredentialPrompts = false,
                ID = "viewer",
            };
            rvMain.ServerReport.ReportPath = "/some/report/name";
            Controls.Add(rvMain);
        }

    }
}

有人对此有什么想法吗?


微软为我们找到了答案。基本上,这是 ReportViewer 控件和控件生命周期中的一些混乱。该修复是对自定义控件的简单添加:

public override System.Web.UI.ControlCollection Controls {
    get {
        this.EnsureChildControls();
        return base.Controls;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在ASP.NET中的子控件中创建ASP.NET ReportViewer;文档结构图按钮中断 的相关文章

随机推荐

  • 使用 COM 对象的 Python ctypes 和 DLL

    在 Windows 下 我尝试使用第 3 方 DLL SomeLib dll 使用 Python 2 7 用 C 编程ctypes 对于其某些功能 该库使用另一个 COM DLL SomeCOMlib dll 它本身使用其他DLL LibA
  • 在 CONNECT-BY 查询中未获得完整的系列乘法(乘积)

    我有一个 CONNECT BY 查询 但没有得到所需的结果 最终的子查询和查询应该产生一串百分比相乘的乘积 它首先列出了每年的保留百分比 PCT 随着查询的进行 它应该将第一年的 PCT 乘以下一年的 PCT 依此类推 直到达到所需的深度
  • 在 Windows 上哪里可以获得 gccxml 的编译版本?

    谁能指出一个可以在 Windows 上获取 gccxml 编译版本的地方 更高版本可以在这里找到 http sourceforge net projects pygccxml files gccxml setup http sourcefo
  • Javascript For循环回调?

    尝试用 Javascript 而不是 jQuery 来思考 所以我想知道我这样做是否正确 我想在循环完成时进行回调 这是正确的方法吗 for var i 0 i lt divs length i do some stuff if i div
  • 更新 SSIS OLEDB 目标中的行

    我有一个数据流过程 其中有一个 OLEDB 源和一个 OLEDB 目标 如下所示 源合并来自两个临时表的数据并返回结果集 例如 50K 行 这 50K 行也存在于目标表中 但是旧数据 SELECT FROM staging1 UNION S
  • R knit Markdown:For 循环内的输出图

    我想创建一个自动针织报告 它将为我的数据框中的每个数字字段生成直方图 我的目标是在无需指定实际字段的情况下完成此操作 此数据集包含超过 70 个字段 我还想重用该脚本 我尝试了几种不同的方法 saving the plot to an ob
  • 我可以将虚拟机放入可用性集之外的另一个资源组吗?

    我希望将每个虚拟机保留在单独的资源组中 以便于生命周期管理 我有一个包含 n 个 VLM 的集群 因此 我为公共 IP 负载均衡器等常见事物创建一个资源组 并将可用性集声明放入其中 因为它也必须在虚拟机之间共享 然后我在单独的资源组中创建虚
  • Perl 代码中的错误:无法找到模块 XML::LibXSLT 的可加载对象 [重复]

    这个问题在这里已经有答案了 Environment CentOS 5 Application Perl 5 8 8 Apache 错误说 Error in Perl code Can t locate loadable object for
  • Spring Boot Maven - 包含本机库

    在我的项目中我正在使用Sigar需要一些本机库的库 我想将所有文件 ddl so 等 特定于平台的 包含在 JAR 内或运行 jar 的同一目录中 Sigar在 java library 路径中搜索这个库 但我无法将它们全部包含在系统中PA
  • 如何向 JCarousel 添加描述

    我在用jcarousel 我无法为滑块中的照片添加描述 div ul class jcarousel skin tango li img src images about img1 jpg li ul div 您可以在 jCarousel
  • 是什么导致 MSSQL 中出现“非阻塞套接字上的操作将阻塞”错误?

    错误 异常查询为 CREATE NONCLUSTERED INDEX I1 ON AllAccounts BAK Master received Day ASC 出现异常 发生一个或多个错误 错误 异常内部异常无法从传输连接读取数据 非阻塞
  • 使用函数 gethostbyname 编译 C 到静态链接错误

    我正在尝试使用函数编译程序gethostbyname 使用交叉编译器arm none linux gnueabi 但是当我在 android 上运行我的二进制文件时它不起作用 我的代码如下 gethostbyname example c i
  • 黄瓜无头 xvfb ubuntu

    我正在尝试在 Amazon EC2 上设置 Jenkins 构建服务器 我计划在无头模式下运行我的黄瓜测试套件 我成功地在 IRB 中无头运行 require watir webdriver require headless headles
  • 科特林。基本 JavaFX 应用程序

    尝试了 Kotlin lang 我的印象是它与 Java 兼容 因此与 JavaFX 兼容 我尝试了以下操作 public object TestKt Application public override fun start stage
  • 在 CocoaPods 1.5 中使用静态库,导入时没有这样的模块

    随着 CocoaPods 1 5 的发布 我试图将项目中的 10 15 个动态 pod 迁移到将它们作为静态库 目的是加快我的应用程序启动时间 在这个阶段 我的简单 即简单化 尝试是在运行 pod install 时删除 use frame
  • Apache Spark SQL 按范围对数据进行分组

    我有一个表包含 年龄 列 我想根据年龄将人们分为几组 例如 0 5 5 10 10 15 然后我会对每组进行相同的计算并比较结果 这样做的目的是看看年龄是否与其他变量相关 请帮忙 你可以用这个公式来计算年龄range start age a
  • 如何检查pdf页面是否有书签?

    我正在尝试检查 pdf 文件中的页面是否有书签以及该书签中的内容 我正在使用 iTextSharp text pdf 来阅读和操作 pdf 但我找不到方法检查页面是否有书签 请帮忙 谢谢 我尝试获取书签 但它获取了所有集合 但我不知道如何获
  • 监控Windows共享

    我正在尝试使用 C 监视与 Windows 共享的连接 我非常确定这是可能的 因为您可以从 Windows 控制台管理器看到连接到您的人员 虽然我不介意使用 WMI 的解决方案 但我更喜欢一些替代方法 我所说的连接是指有人在受监控的电脑上打
  • 如何使用纯 javascript 获取 DIV 内的所有 id

    我想立即获取 Div 内每个元素的每个 ID 并更改它们的所有类名 喜欢 div div div div div div div div div div 我见过使用库的解决方案 但这可以用纯 Javascript 实现吗
  • 在ASP.NET中的子控件中创建ASP.NET ReportViewer;文档结构图按钮中断

    我们在使用 Visual Studio 2008 ReportViewer 控件时遇到了一个奇怪的问题 具体来说 当我们在页面上有一个子控件 并且子控件本身承载一个报表查看器 并且该报表具有文档结构图时 显示 隐藏文档结构图按钮上的回发似乎