我知道 - 2007年已经过时了 - 但我现在无法切换到更新的控件。
我已经发现由于内部功能,TreeView在IE8中无法正常显示:
RadTreeView.AlignImage=function(_4e){
_4e.align="absmiddle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}
修复将是:
RadTreeView.AlignImage=function(_4e){
_4e.align="middle";
_4e.style.display="inline";
if(!document.all||window.opera){
if(_4e.nextSibling&&_4e.nextSibling.tagName=="SPAN"){
_4e.nextSibling.style.verticalAlign="middle";
}
if(_4e.nextSibling&&_4e.nextSibling.tagName=="INPUT"){
_4e.nextSibling.style.verticalAlign="middle";
}
编辑:它似乎也在.NET程序集中用作absMiddle。以上功能是javascript函数。
但是如何在编译的dll中更改它?有没有办法解决这个问题?
我需要使用代码反射吗?或者是否有任何解决方法来覆盖AlignImage函数?
修改
一个快速而又脏的修复方法是设置一个css(Edit2:这会修复树视图 - 但可能会导致输入和img html元素出现问题)
input
{
vertical-align: middle!important;
}
img
{
vertical-align: middle!important;
}
答案 0 :(得分:0)
Andreas,我会跳到Telerik AJAX树视图,因为我知道它完全支持IE8并且在发布时支持IE9。对于旧的树视图,您应该使用变通办法或设置IE7兼容模式以确保它能够正确呈现。