2013-05-09 53 views

回答

0

ASP.NET TreeNode control就是您現在正在使用的內容(與WinForms相對)。有兩個相關屬性適用於您:

TreeNode.Text - 樹上實際顯示的內容。
TreeNode.Value - 該節點的基礎值。

除非將數據源綁定到TreeView(它聽起來不像你正在做的那樣),否則你不想混淆DataItem屬性(如你所發現的)。即使如此,這只是爲了獲得價值;你不能以這種方式存儲任何東西。

+0

TreeNode.Value是一個字符串屬性,它不提供同樣的靈活性作爲WinForms樹視圖的標籤屬性 – 2016-06-20 15:48:14

0

有一個在ASP.NET樹節點沒有標籤屬性,但你可以用標記屬性impliment自己的樹節點

How to extend a built-in TreeNode class of the ASP.NET TreeView control

using System.Web.UI.WebControls; 

namespace CSASPNETInheritingFromTreeNode 
{ 
    public class CustomTreeView : TreeView 
    { 

     protected override TreeNode CreateNode() 
     { 
      return new CustomTreeNode(this, false); 
     } 
    } 

    public class CustomTreeNode : TreeNode 
    { 

     public object Tag { get; set; } 

     public CustomTreeNode() : base() 
     { 
     } 

     public CustomTreeNode(TreeView owner, bool isRoot) : base(owner, isRoot) 
     { 
     } 


     protected override void LoadViewState(object state) 
     { 
      object[] arrState = state as object[]; 

      this.Tag = arrState[0]; 
      base.LoadViewState(arrState[1]); 
     } 


     protected override object SaveViewState() 
     { 
      object[] arrState = new object[2]; 
      arrState[1] = base.SaveViewState(); 
      arrState[0] = this.Tag; 

      return arrState; 
     } 
    } 
} 
相關問題