【发布时间】:2010-09-13 23:48:42
【问题描述】:
我知道 - 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;
}
【问题讨论】:
标签: .net asp.net reflection telerik radtreeview