为什么.rdlc报告在不同环境中呈现的方式不同?

时间:2016-09-26 20:23:58

标签: visual-studio internet-explorer report rendering rdlc

我在Visual Studio中有一个使用.rdlc报告的项目。处理完所有数据后,它会将输出显示为网页上的报告。但是,我在渲染/格式化方面遇到了问题。

问题

当我在localhost环境中运行时(主浏览器是IE11),报告按预期呈现并生成如下报告示例的输出:

Properly rendered report within localhost environment

但是,当我在开发环境Web服务器(也在IE11中)中运行程序时,我收到以下错误:

Bug of text going on the top of the header in dev environment

如图所示,在开发环境中,当报表到达换行符时,报表的字幕位于表格标题的顶部。

到目前为止我做了什么?

1)我比较了在localhost和dev环境下运行的IE版本。它们都在相同的IE11浏览器上运行。这消除了我在IE浏览器版本差异中的理论。

2)我在不同的浏览器(Chrome,Firefox)中运行了localhost和dev环境。 localhost和dev环境报告都在这些浏览器中正确呈现,这消除了不同的浏览器理论。

3)根据我在下面做出的结论,我进行了一些研究,following post是我能够达到的最接近的事情。

总体

执行上述步骤后,我注意到只有IE11中的dev环境产生了头错误(第二张图片)。这使我得出结论,它与IE11渲染有关。这使我更加困惑,因为 localhost环境在IE11浏览器中正常运行(第一张图片)

问题

导致此错误的原因是什么?为什么开发环境中的IE与localhost环境的行为不同?

最终,有没有办法解决这个错误?如果是,我该怎么办(在开发环境中添加/删除文件,在某处编写兼容性代码行)?

修改

经过一些额外的研究后,我发现了this question,然而,这个问题从未得到解答。我试着在评论中查看建议,但无济于事。

编辑2

我尝试将元标记添加到父视图文件中,但它没有解决问题。

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

将以下行添加到web.config

时,它也无济于事
<httpProtocol>
    <customHeaders>
        <add name="X-UA-Compatible" value="IE=edge" />
    </customHeaders>
</httpProtocol>

1 个答案:

答案 0 :(得分:1)

它导致我出现问题的主要原因是它在兼容模式下运行。在兼容性视图设置中关闭第一个标志已经解决了我的问题。

Tick the first flag off