之前有一个Project 使用的是 VS2005 + Reporting Service Report (Report Viewer 2005) 开发,一直使用没有问题。包括在 IE6/IE7 中打开显示均正常。
但新的 IE8 来了,一测试,发现竟然变的乱了,边界乱了,位置错乱了,唉。
为此问题,查了不少资料,又是 Google ,结果终于测试到了解决方法,如下:
移除Report Viewer 对应的aspx 代码中的 DOCTYPE ,即可正常显示。
<!--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-->
原因据说和 IE8 更加和国际标准接轨有关,而IE6/IE7 则有些MS 自家的技术。
真正的原因好像和 DocType 的模式有关,正常是使用 "Standard" 模式,即必须指定对应的属性,如上,另一种是"quirk" 模式,属于一种自适应模式,可以不填写 DocType ,即由浏览器自行决定使用的模式和呈现方式。