2011-05-05 61 views
0

我一直在搜索,包括similar questions here無濟於事。如果我點擊已添加到TreeView的節點,則OnSelectedNodeChanged事件不會觸發。即使忽略這一點,僅在Page_Load()上,SelectedNode屬性爲空。TreeView - OnSelectedNodeChanged沒有以編程方式添加節點

我的TreeView控件是:

<asp:TreeView runat="server" ID="TheView" OnTreeNodePopulate="Populate" OnSelectedNodeChanged="SelectNode" /> 

在背後說我的代碼,我添加一個節點:

TreeNode node = new TreeNode("Root", "1"); 
node.PopulateOnDemand = true; 
node.SelectAction = TreeNodeSelectAction.Select; 
TheView.Nodes.Add(node); 

從屬節點相同補充說:

foreach (MyMenuItem item in list) 
{ 
    TreeNode newNode = new TreeNode(item.DisplayName, item.Value); 

    newNode.PopulateOnDemand = true; 
    newNode.SelectAction = TreeNodeSelectAction.Select; 
    node.ChildNodes.Add(newNode); 
} 

一切都在顯示出來我期望樹,頁面重新加載時,我點擊一個節點,但沒有什麼!我錯過了什麼?

回答

0

我不知道這是什麼,遺留代碼和所有,但this post at forums.asp.net向我展示了方式。我的CSSMenuAdapter.browser文件中有一個CSSFriendlyAdapter。刪除它使其工作...並使樹視圖看起來更好。

0

我有一個編程樹視圖,我加載類似於你加載你的方式。 SelectedNodeChanged事件觸發我的,但因爲選擇一個節點重新加載頁面,因此樹,我必須告訴樹每次加載時選擇哪個節點。我通過使用

If Request.PhysicalPath = Server.MapPath(myNode.NavigateUrl) Then 
    myNode.Selected = True 
End If 

當節點加載。這是一個黑客攻擊,它在VB中,但也許它會指向你正確的方向。

相關問題