程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅-高性能ASP.NET樹狀列表控件(上)(7)

C#發現之旅-高性能ASP.NET樹狀列表控件(上)(7)

編輯:關於C語言

現對該軟件進行詳細說明。

SkyTreeNode.cs

該文件中定義了類型SkyTreeNode,用於表示樹狀列表中的一個節點,其主要代碼如下

/// <summary>
/// 樹狀列表節點對象
/// </summary>
/// <remarks>
/// 本對象表示高性能ASP.Net樹狀列表中的一個節點,每個節點
/// 有個Nodes屬性用於保存子節點,由此可以形成樹狀結構。
/// </remarks>
[System.Serializable()]
[System.Xml.Serialization.XMLType("Node")]
public class SkyTreeNode
{
    /// <summary>
    /// 初始化對象
    /// </summary>
    public SkyTreeNode()
    {
        myNodes = new SkyTreeNodeList(this);
    }

    private string strID = null;
    /// <summary>
    /// 節點編號
    /// </summary>
    /// <remarks>
    /// 在生成HTML代碼時,系統會調用XSLT的函數 generate-id() 來生成節點Html
    /// 編號,在同一個XML文檔時,自動生成的編號是唯一的不會重復。但當頁面上有
    /// 多個樹狀列表或者需要客戶端動態加載節點時則會在不同的XML文檔上調用
    /// generate-id() 函數,這會導致節點的Html編號重復,此時需要明確的設置該ID
    /// 屬性以確保生成的節點的Html編號不重復。一般可以設置為 
    /// System.GUID.NewGUID().ToString() 值
    /// </remarks>
    public string ID
    {
        get 
        {
            return strID; 
        }
        set 
        {
            strID = value; 
        }
    }

    private string strText = null;
    /// <summary>
    /// 節點文本
    /// </summary>
    public string Text
    {
        get 
        {
            return strText; 
        }
        set
        {
            strText = value; 
        }
    }

    private string strIcon = null;
    /// <summary>
    /// 節點圖標URL地址
    /// </summary>
    public string Icon
    {
        get 
        {
            return strIcon; 
        }
        set
        {
            strIcon = value; 
        }
    }

    private string strLink = null;
    /// <summary>
    /// 節點鏈接地址
    /// </summary>
    public string Link
    {
        get
        {
            return strLink; 
        }
        set
        {
            strLink = value; 
        }
    }

    private string strValue = null;
    /// <summary>
    /// 節點數值
    /// </summary>
    public string Value
    {
        get
        { 
            return strValue;
        }
        set
        {
            strValue = value;
        }
    }

    private string strOnClick = null;
    /// <summary>
    /// 節點點擊事件處理代碼
    /// </summary>
    public string OnClick
    {
        get
        {
            return strOnClick; 
        }
        set
        { 
            strOnClick = value; 
        }
    }

    private string strXMLSource = null;
    /// <summary>
    /// 子節點信息XML來源
    /// </summary>
    /// <remarks>
    /// 當客戶端要動態的加載節點的子節點,則必須要設置該屬性為一個
    /// 相對或絕對的URL地址,該地址必須使用一個頁面參數來傳遞該節點的
    /// ID屬性。
    /// </remarks>
    public string XMLSource
    {
        get 
        { 
            return strXMLSource;
        }
        set
        {
            strXMLSource = value;
        }
    }

    private SkyTreeNode myParent = null;
    /// <summary>
    /// 父節點對象
    /// </summary>
    /// <remarks>
    /// Parent屬性不能參與XML序列化和反序列化,否則會出現樹狀節點
    /// 循環引用而導致程序結構錯誤,因此使用 XMLIgnore 特性來說明
    /// 不參與XML序列化和反序列化。
    /// </remarks>
    [System.Xml.Serialization.XMLIgnore()]
    [System.ComponentModel.Browsable(false)]
    public SkyTreeNode Parent
    {
        get
        {
            return myParent; 
        }
        set
        {
            myParent = value; 
        }
    }

    private SkyTreeNodeList myNodes = null;
    /// <summary>
    /// 子節點列表
    /// </summary>
    /// <remarks>
    /// 此處使用XMLArrayItem特性說明Nodes屬性是一個列表,該列表對應
    /// 的XML節點下Node名稱的子XML節點對應一個SkyTreeNode類型的對象。
    /// </remarks>
    [System.Xml.Serialization.XMLArrayItem("Node", typeof(SkyTreeNode))]
    public SkyTreeNodeList Nodes
    {
        get
        {
            return myNodes; 
        }
    }

}//public class SkyTreeNode

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved