我的TreeView出现问题。Javascript问题展开图像
我的TreeView在UserControl中。 在第一页上,UserControl直接放置在内容页面上。一切正常。
例子(工作):
<a id="MainContent_CategoryTreeView1_TreeView1n209" href="javascript:TreeView_ToggleNode(MainContent_CategoryTreeView1_TreeView1_Data,209,MainContent_CategoryTreeView1_TreeView1n209,' ',MainContent_CategoryTreeView1_TreeView1n209Nodes)">
<img src="demo.jpg" />
</a>
在第二页上,该用户控件被放置在TabContainer的(的TabPanel)。用于展开的JavaScript不起作用。
我发现什么出来就是,表格单元格的ID,则扩展图像被放置在,不同于其中JavaScript是在href
例如(不工作):
<a id="MainContent_TabContainer_tbPbl_Categories_CategoryTreeView1_TreeView1n209" href="javascript:TreeView_ToggleNode(MainContent_CategoryTreeView1_TreeView1_Data,209,MainContent_CategoryTreeView1_TreeView1n209,' ',MainContent_CategoryTreeView1_TreeView1n209Nodes)">
<img src="demo.jpg" />
</a>
这是ASP.Net TreeView的错误吗?任何想法如何解决这个问题?
编辑:
可能是有趣太:每当TreeView控件第一次加载,我在代码生成的层次和根节点保存到缓存。所以,我的页面加载事件看起来像:
if (CacheFacade.CategoryTreeView == null)
var rootNode = BuildHierachy();
CacheFacade.CategoryTreeView = rootNode;
//databind rootNode to TreeView
else
//databind from CacheFacade.CategoryTreeView
这是什么混乱生成的JavaScript了。 但是为什么? JavaScript中有生成的客户端ID。是不是渲染的一部分(在PageLoad之后)?