locked
MS Knowledge Base: Bagaimana cara meng-extend built-in TreeNode class dari TreeView control ASP.NET? (Part 1) RRS feed

  • Diskusi Umum

  • Artikel ini menjelaskan tentang sampel All-In-One Code Framework yang tersedia untuk di-download. Sampel kode ini menunjukkan bagaimana cara untuk meng-extend built-in TreeNode class dari ASP.NET Treeview control. Dalam TreeView windows forms, setiap TreeNode class memiliki "Tag" properti yang dapat digunakan untuk menyimpan custom object. Sampel kode ini menciptakan custom  CustomTreeView dalam  TreeView control untuk mengimplementasikan fitur yang sama dalam ASP.NET TreeView control.

     

    Tingkat Kesulitan

                Menengah

    Pembahasan Teknis

    Bila anda membuat kelas baru yang diwariskan dari kelas TreeNode dan menggunakan objek dari kelas baru dalam kontrol TreeView, nilai properti kelas TreeNode tidak dipertahankan dalam postback request. Karena protokol HTTP tidak memiliki state tertentu, ASP.NET runtime tidak menyimpan properti ini secara otomatis dalam postback request.

    Untuk menyimpan properti dari kelas TreeNode,
    anda dapat override metode SaveViewState () dan LoadViewState(object) sehingga runtime ASP.NET dapat menyimpan property view state melalui kode.

    Selain itu, objek TreeView dibuat oleh runtime ASP.NET dalam postback
    request. Secara default, kelas TreeView memanggil metode CreateNode() untuk membuat default objek TreeNode dan menghasilkan tree nodes. Anda juga dapat override metode CreateNode() untuk membuat custom objek TreeNode.


    Contoh
    Sampel


    Dalam sampel kode, dua metode akan dioverride untuk menyimpan nilai dari properti "Tag" ke view state dan mengembalikan nilai properti "Tag" dari view state. Untuk membuat postback request menciptakan custom  kelas TreeNode, anda dapat membuat custom kontrol server baru yang diwariskan dari kontrol TreeView dan override metode CreateNode(). Untuk melakukannya, ikuti langkah berikut:

    Langkah 1

    Tambahkan sebuah file kelas baru yang diberi nama "CustomTreeView"
    pada proyek anda. Tambahkan kode berikut di awal file untuk mengimpor namespace System.Web.UI.WebControls yang berisi built-in ASP.NET TreeView control:

     

    using System.Web.UI.WebControls;

     

    Step 2

    Dalam  CustomTreeView class file, buat kelas "CustomTreeNode" yang diwariskan dari kelas TreeNode. Jalankan kode berikut untuk menerapkan 2 constructors:

     

    public CustomTreeNode() : base()

    {

    }

     

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

    {

    }


    Step 3

    Tambahkan objek properti "Tag" dalam kelas CustomTreeNode.

     

    /// <summary>

    /// Gets or sets the object that contains data about the tree node.

    /// </summary>

    public object Tag { get; set; }

    Berlanjut ke MS Knowledge Base: Bagaimana cara meng-extend built-in TreeNode class dari TreeView control ASP.NET? (Part 2)


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Kamis, 02 Juni 2011 09.20
    Moderator