Microsoft.Web.UI.WebControls TreeView 不工作 IE 11

Microsoft.Web.UI.WebControls TreeView Not working IE 11

我正在使用 Microsoft.Web.UI.WebControls TreeView,它在 IE11 中不起作用。有没有人经历过同样的事情?

我在客户端仅在 IE 11 中收到以下错误

对象不支持 属性 或方法 'getTreeNode'

连selectedNodeIndex也是'undefined'

我们有一个遗留产品,更改控件会产生巨大影响。

我今天解决了这个问题!

首先,如果您的 IIS 在较早的 Windows 上运行,请确保 KB2836940 or KB2836942 已安装。

然后,修改IE WebControls的源代码。在 [BaseRichControl.cs] 第 76 行:

protected virtual BrowserLevelChecker CreateLevelChecker()
{
    //return new BrowserLevelChecker("ie", 5, 0.5, true);
    BrowserLevelChecker _BrowserLevelChecker = new BrowserLevelChecker("ie", 5, 0.5, true);
    _BrowserLevelChecker.Add("InternetExplorer", 11, 0, true);    //add IE11 support
    _BrowserLevelChecker.Add("Mozilla", 11, 0, true);    //sometimes ASP.NET see IE11 as Mozilla Browser
    return _BrowserLevelChecker;
}

重建源代码并将新的 "Microsoft.Web.UI.WebControls.dll" 放入您网站的 "bin" 文件夹中。

现在 Treeview 应该可以在 IE11 上运行了。

希望这会有所帮助。