Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net SSRS ReportViewer Web控件-如何不显示;“等待控制”;当呈现为异步时,是否会发生任何问题?_Asp.net_Reporting Services_Reportviewer - Fatal编程技术网

Asp.net SSRS ReportViewer Web控件-如何不显示;“等待控制”;当呈现为异步时,是否会发生任何问题?

Asp.net SSRS ReportViewer Web控件-如何不显示;“等待控制”;当呈现为异步时,是否会发生任何问题?,asp.net,reporting-services,reportviewer,Asp.net,Reporting Services,Reportviewer,我正在ASP.NET4项目中使用最新(2010)的ReportViewer Web控件。我的客户端希望我抑制/隐藏在获取报告时显示的初始“加载”消息 嗯。。。我知道。。。为什么要隐藏告诉你发生了什么的信息?但是,客户想要客户想要的 我知道,如果使用AsyncRendering=False的报表查看器控件,那么可以将WaitControlDisplayAfter属性设置为一个长得离谱的值 不幸的是,我需要AsyncRendering=True(在一种仪表板上显示多个报告)。这(根据MSDN参见备注

我正在ASP.NET4项目中使用最新(2010)的ReportViewer Web控件。我的客户端希望我抑制/隐藏在获取报告时显示的初始“加载”消息

嗯。。。我知道。。。为什么要隐藏告诉你发生了什么的信息?但是,客户想要客户想要的

我知道,如果使用AsyncRendering=False的报表查看器控件,那么可以将WaitControlDisplayAfter属性设置为一个长得离谱的值

不幸的是,我需要AsyncRendering=True(在一种仪表板上显示多个报告)。这(根据MSDN参见备注部分)将意味着“等待控制”将始终显示。(Grr-r-rr!)

所以问题是,如何不使用异步呈现来显示此控件

(客户问我的另一个问题是,他们希望在加载更新的报告时看到该报告的缓存副本—有人接受吗?)

谢谢,
Jaans

我找到了一种通过jQuery操作DOM来隐藏加载消息的方法。使用reportviewer将以下脚本添加到页面中实现了此目的:

<script type="text/javascript">
    $(function () {
        var waitMsg = $("div[id$='AsyncWait_Wait']");
        waitMsg.wrap("<div style='display:none; visibility: hidden'></div>");
    });
</script>

$(函数(){
var waitMsg=$(“div[id$='AsyncWait\u Wait']);
waitMsg.wrap(“”);
});

从乔·坎普的答案开始,以下内容对我很有用。我将此条目添加到应用程序的CSS文件中:

div[id$='AsyncWait_Wait']
{
    display: none !important;
    visibility: hidden !important;
}

在IE8、IE9、Chrome 21、FF10、FF15和Safari(版本5-ish、iPad3 iOS 5.1.1)中测试工作。

我还推荐上述两种代码,因为它们有效且易于使用。但如果不起作用,请使用此代码。 添加下面的函数,并在页面加载时调用它

 private void HideLoadImage(Control ReportViewer)
{
    foreach (Control c in ReportViewer.Controls)
    {
        if ((string.Compare(c.ID, "AsyncWait") == 0))
        {        
            c.Visible = false;

            }
        if (c.HasControls())
        {
            HideLoadImage(c);
        }
    }
}

那不仅很聪明,而且干净优雅!酷,我不知道你可以在css中使用这个选择器,+1我不推荐这个。至少在启用ASP.NET AJAX的情况下,这样做时会出现Javascript错误。