0

我知道 - 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 中改变它呢?有什么办法可以在dll中解决这个问题吗?

我需要使用代码反射吗?或者是否有任何解决方法可以覆盖 AlignImage 函数?

编辑


一个快速而肮脏的修复是设置一个 css(Edit2:这修复了树视图 - 但可能会导致输入和 img html 元素出现其他问题)

input
{
    vertical-align: middle!important;
}
img
{
    vertical-align: middle!important;
}
4

1 回答 1

0

Andreas,我会跳到 Telerik AJAX 树视图,因为我知道它完全支持 IE8,并且在发布时将支持 IE9。对于旧的树视图,您应该使用解决方法或设置 IE7 兼容模式以确保正确呈现它。

于 2010-09-14T11:50:26.623 回答