我有一个ASP.NET TreeView
,其中填充了多个级别的TreeNode
个对象。节点在IE以外的所有浏览器中正确展开/折叠(我已经尝试过IE 9及更高版本。)
这是我尝试过的:
edge
奇怪的是,我仍然可以从TreeView
获取回发事件,因此如果需要,我可以手动展开/折叠节点。 IE开发人员工具窗口中不会生成任何javascript错误。
有什么想法吗?
答案 0 :(得分:0)
看了很久之后,我发现我的TreeNode
个对象是问题的根本原因。我正在使用Value
的{{1}}属性来包含TreeNode
所代表的对象的序列化版本(我知道这不是超高效 - 但是有效[对象很小] )。
显然,需要对TreeNode
属性的数据进行编码,以便将其传递给HTML / Javascript。对Value
的{{3}} 未记录。
解决方案:在TreeNode
上获取/设置HttpUtility.HtmlEncode(string)
属性之前,请先使用HttpUtility.HtmlDecode(string)
和Value
。这将使所有浏览器都能正常工作,包括IE。