我的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之後)?