Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Microsoft
ASP.NET 2.0 meningkatkan kontrol server dalam banyak hal. Dalam modul ini, kita akan membahas beberapa perubahan arsitektur dengan cara ASP.NET 2.0 dan Visual Studio 2005 menangani kontrol server.
ASP.NET 2.0 meningkatkan kontrol server dalam banyak hal. Dalam modul ini, kita akan membahas beberapa perubahan arsitektur dengan cara ASP.NET 2.0 dan Visual Studio 2005 menangani kontrol server.
Tampilkan status
Perubahan utama dalam status tampilan dalam ASP.NET 2.0 adalah pengurangan ukuran yang dramatis. Pertimbangkan halaman hanya dengan kontrol Kalender di dalamnya. Berikut adalah status tampilan di ASP.NET 1.1.
dDwtMTg1NDkwMjc0Nzt0PDtsPGk8MT47PjtsPHQ8O2w8aTwxPjs
+O2w8dDxAMDxwPHA8bDxTRDs+O2w8bDxTeXN0ZW0uRGF0ZVRpbWUsIG1
zY29ybGliLCBWZXJzaW9uPTEuMC41MDAwLjAsIEN1bHR1cmU9bmV1dHJ
hbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OTwyMDA1LTE
xLTA4Pjs+Oz4+Oz47Ozs7Ozs7Ozs7Pjs7Pjs+Pjs+Pjs+lkX2YWqfACtP
/VWr8G03pob/+tU=
Sekarang berikut adalah status tampilan pada halaman yang identik di ASP.NET 2.0.
/wEPDwULLTEzNjg5MjAxMzgPZBYCAgMPZBYCAgEPPCsAC
gEADxYCHgJTRBYBBgDAEX8OsscIZGRkllfArINjlhvzQX7Xfign2q6HK5E=
Itu adalah perubahan yang cukup signifikan, dan mengingat bahwa status tampilan dibawa bolak-balik melalui kawat, perubahan ini dapat memberi pengembang peningkatan performa yang signifikan. Pengurangan ukuran status tampilan sebagian besar karena cara kami menanganinya secara internal. Ingat bahwa status tampilan adalah string yang dikodekan Base64. Untuk lebih memahami perubahan status tampilan di ASP.NET 2.0, mari kita lihat nilai yang didekodekan dari contoh di atas.
Berikut adalah status tampilan 1.1 yang didekodekan:
t<-1854902747;t<;l<i<1>;>;l<t<;l<
i<1>;>;l<t<@0<p<p<l<SD;>;l<l<
System.DateTime, mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089<2005-11-08>;>;>>;
>;;;;;;;;;;>;;>;>>;>>;>Eaj
Ini mungkin terlihat sedikit seperti omong-omong, tetapi ada pola di sini. Dalam ASP.NET 1.x, kami menggunakan karakter tunggal untuk mengidentifikasi jenis data dan nilai yang dibatasi menggunakan <> karakter. "t" dalam sampel status tampilan di atas mewakili Triplet. Triplet berisi sepasang ArrayLists ("l" mewakili ArrayList.) Salah satu ArrayList tersebut berisi Int32 ("i") dengan nilai 1 dan yang lainnya berisi Triplet lain. Triplet berisi sepasang ArrayLists, dll. Hal penting yang perlu diingat adalah bahwa kita menggunakan Triplet yang berisi pasangan, kita mengidentifikasi jenis data melalui huruf, dan kita menggunakan < karakter dan > sebagai pemisah.
Dalam ASP.NET 2.0, status tampilan yang didekodekan terlihat sedikit berbeda.
-1368920138 d
d
SD
dddWc A ('ڮ
Anda harus melihat perubahan besar dalam tampilan status tampilan yang didekodekan. Perubahan ini memiliki beberapa underpinning arsitektur. Lihat status di ASP.NET 1.x menggunakan LosFormatter untuk menserialisasikan data. Di 2.0, kami menggunakan kelas ObjectStateFormatter baru. Kelas ini dirancang khusus untuk membantu dalam serialisasi dan deserialisasi status tampilan dan status kontrol. (Status kontrol akan tercakup di bagian berikutnya.) Ada banyak manfaat yang diperoleh dengan mengubah metode di mana serialisasi dan deserialisasi berlangsung. Salah satu yang paling dramatis adalah fakta bahwa tidak seperti LosFormatter yang menggunakan TextWriter, ObjectStateFormatter menggunakan BinaryWriter. Ini memungkinkan ASP.NET 2.0 untuk menyimpan status tampilan serangkaian byte alih-alih string. Ambil, misalnya, bilangan bulat. Dalam ASP.NET 1.1, bilangan bulat memerlukan status tampilan 4 byte. Dalam ASP.NET 2.0, bilangan bulat yang sama hanya memerlukan 1 byte. Penyempurnaan lainnya dilakukan untuk mengurangi jumlah status tampilan yang disimpan. Nilai DateTime, misalnya, sekarang disimpan menggunakan TickCount alih-alih string.
Seolah-olah semua itu tidak cukup, perhatian khusus diberikan pada fakta bahwa salah satu konsumen terbesar status tampilan dalam 1.x adalah DataGrid dan kontrol serupa. Kelemahan utama kontrol seperti DataGrid di mana status tampilan yang bersangkutan adalah sering berisi sejumlah besar informasi berulang. Dalam ASP.NET 1.x, informasi berulang itu hanya disimpan berulang kali menghasilkan status tampilan yang membentang. Di ASP.NET 2.0, kami menggunakan kelas IndexedString baru untuk menyimpan data tersebut. Jika string berulang, kami hanya menyimpan token untuk IndexedString dan indeks dalam tabel objek IndexedString yang sedang berjalan.
Status Kontrol
Salah satu keluhan utama yang dimiliki pengembang dengan status tampilan adalah ukuran yang ditambahkan ke payload HTTP. Seperti disebutkan sebelumnya, salah satu konsumen terbesar status tampilan adalah kontrol DataGrid. Untuk menghindari sejumlah besar status tampilan yang dihasilkan oleh DataGrid, banyak pengembang hanya menonaktifkan status tampilan untuk kontrol tersebut. Sayangnya, solusi itu tidak selalu bagus. Lihat status di ASP.NET 1.x tidak hanya berisi data yang diperlukan untuk fungsionalitas kontrol yang benar. Ini juga berisi informasi tentang status UI kontrol. Ini berarti bahwa jika Anda ingin mengizinkan penomoran halaman pada DataGrid, Anda harus mengaktifkan status tampilan meskipun Anda tidak memerlukan semua informasi UI yang berisi status tampilan. Ini adalah skenario semua atau tidak sama sekali.
Dalam ASP.NET 2.0, status kontrol memecahkan masalah itu dengan baik melalui pengenalan status kontrol. Status kontrol berisi data yang benar-benar diperlukan untuk fungsionalitas kontrol yang tepat. Tidak seperti status tampilan, status kontrol tidak dapat dinonaktifkan. Oleh karena itu, penting bahwa data yang disimpan dalam status kontrol dikontrol dengan hati-hati.
Catatan
Status kontrol dipertahankan bersama dengan status tampilan di bidang formulir tersembunyi __VIEWSTATE.
Video ini adalah panduan status tampilan dan status kontrol.
Agar kontrol server dapat membaca dan menulis ke status kontrol, Anda harus mengambil tiga langkah.
Langkah 1: Panggil Metode RegisterRequiresControlState
Metode RegisterRequiresControlState menginformasikan ASP.NET bahwa kontrol perlu mempertahankan status kontrol. Dibutuhkan satu argumen jenis Kontrol yang merupakan kontrol yang sedang didaftarkan.
Penting untuk dicatat bahwa pendaftaran tidak bertahan dari permintaan ke permintaan. Oleh karena itu, metode ini harus dipanggil pada setiap permintaan jika kontrol adalah mempertahankan status kontrol. Disarankan agar metode dipanggil di OnInit.
protected override void OnInit(EventArgs e) { Page.RegisterRequiresControlState(this); base.OnInit(e); }
Langkah 2: Mengambil alih SaveControlState
Metode SaveControlState menyimpan perubahan status kontrol untuk kontrol sejak postingan terakhir kembali. Ini mengembalikan objek yang mewakili status kontrol.
Langkah 3: Mengambil alih LoadControlState
Metode LoadControlState memuat status tersimpan ke dalam kontrol. Metode ini mengambil satu argumen jenis Objek yang menyimpan status tersimpan untuk kontrol.
Kepatuhan XHTML Penuh
Setiap pengembang Web tahu pentingnya standar dalam aplikasi Web. Untuk mempertahankan lingkungan pengembangan berbasis standar, ASP.NET 2.0 sepenuhnya mematuhi XHTML. Oleh karena itu, semua tag dirender sesuai dengan standar XHTML di browser yang mendukung HTML 4.0 atau yang lebih besar.
Definisi DOCTYPE dalam ASP.NET 1.1 adalah sebagai berikut:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN
Dalam ASP.NET 2.0, definisi DOCTYPE default adalah sebagai berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Jika memilih, Anda dapat mengubah kepatuhan XHTML default melalui simpul xhtmlConformance dalam file konfigurasi. Misalnya, simpul berikut dalam file web.config akan mengubah kepatuhan XHTML menjadi XHTML 1.0 Strict:
<xhtmlConformance mode="Strict" />
Jika memilih, Anda juga dapat mengonfigurasi ASP.NET untuk menggunakan konfigurasi warisan yang digunakan dalam ASP.NET 1.x sebagai berikut:
<xhtmlConformance mode="Legacy" />
Penyajian Adaptif Menggunakan Adaptor
Di ASP.NET 1.x, file konfigurasi berisi <bagian browserCaps> yang mengisi objek HttpBrowserCapabilities. Objek ini memungkinkan pengembang untuk menentukan perangkat apa yang membuat permintaan tertentu dan merender kode dengan tepat. Dalam ASP.NET 2.0, model telah meningkat dan sekarang menggunakan kelas ControlAdapter baru. Kelas ControlAdapter mengambil alih peristiwa dalam siklus hidup kontrol dan mengontrol penyajian kontrol berdasarkan kemampuan agen pengguna. Kemampuan agen pengguna tertentu ditentukan oleh file definisi browser (file dengan ekstensi file .browser) yang disimpan di folder c:\windows\microsoft.net\framework\v2.0.****\CONFIG\Browsers.
Catatan
Kelas ControlAdapter adalah kelas abstrak.
Sama seperti <bagian browserCaps> di 1.x, file definisi browser menggunakan Ekspresi Reguler untuk mengurai string agen pengguna untuk mengidentifikasi browser yang meminta. Ini mereka mendefinisikan kemampuan khusus untuk agen pengguna tersebut. ControlAdapter merender kontrol melalui metode Render. Oleh karena itu, jika Anda mengambil alih metode Render, Anda tidak boleh memanggil Render pada kelas dasar. Melakukannya dapat menyebabkan penyajian terjadi dua kali, sekali untuk adaptor dan sekali untuk kontrol itu sendiri.
Mengembangkan Adapter Kustom
Anda dapat mengembangkan adaptor kustom Anda sendiri dengan mewarisi dari ControlAdapter. Selain itu, Anda dapat mewarisi dari pageAdapter kelas abstrak jika adaptor diperlukan untuk halaman. Pemetaan kontrol ke adaptor kustom Anda dilakukan melalui <elemen controlAdapters> dalam file definisi browser. Misalnya, XML berikut dari file definisi browser memetakan kontrol Menu ke kelas MenuAdapter:
<controlAdapters> <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter" /> </controlAdapters>
Menggunakan model ini, menjadi cukup mudah bagi pengembang kontrol untuk menargetkan perangkat atau browser tertentu. Sangat mudah bagi pengembang untuk memiliki kontrol penuh atas bagaimana halaman dirender di setiap perangkat.
Per-Device Rendering
Properti kontrol server di ASP.NET 2.0 dapat ditentukan per perangkat menggunakan awalan khusus browser. Misalnya, kode di bawah ini akan mengubah Teks label tergantung pada perangkat mana yang digunakan untuk menelusuri halaman.
<asp:Label ID="lblBrowser" runat="server" Text="You are browsing from an unknown device." ie:Text="You are browsing from Internet Explorer." mozilla:Text="You are browsing from Firefox."> </asp:Label>
Ketika halaman yang berisi label ini dijelajahi dari Internet Explorer, label akan menampilkan teks yang mengatakan "Anda menjelajah dari Internet Explorer." Ketika halaman dijelajahi dari Firefox, label akan menampilkan teks "Anda menjelajah dari Firefox." Ketika halaman dijelajahi dari perangkat lain, halaman akan menampilkan "Anda menjelajah dari perangkat yang tidak dikenal." Properti apa pun dapat ditentukan menggunakan sintaks khusus ini.
Fokus Pengaturan
ASP.NET pengembang 1.x sering bertanya tentang cara mengatur fokus awal pada kontrol tertentu. Misalnya, pada halaman masuk, kotak teks ID Pengguna akan berguna untuk mendapatkan fokus saat halaman pertama kali dimuat. Dalam ASP.NET 1.x, lakukan ini diperlukan untuk menulis beberapa skrip sisi klien. Meskipun skrip seperti itu adalah tugas sepele, itu tidak lagi diperlukan dalam ASP.NET 2.0 berkat metode SetFocus. Metode SetFocus mengambil satu argumen yang menunjukkan kontrol yang harus menerima fokus. Argumen ini bisa menjadi ID klien kontrol sebagai string atau nama kontrol Server sebagai objek Kontrol. Misalnya, untuk mengatur fokus awal ke kontrol TextBox yang disebut txtUserID saat halaman pertama kali dimuat, tambahkan kode berikut ke Page_Load:
if (!IsPostBack) {
SetFocus(txtUserID);
}
--Atau
if (!IsPostBack) {
SetFocus(txtUserID.ClientID);
}
ASP.NET 2.0 menggunakan handler Webresource.axd (dibahas sebelumnya) untuk merender fungsi sisi klien yang mengatur fokus. Nama fungsi sisi klien WebForm_AutoFocus seperti yang ditunjukkan di sini:
<script type="text/javascript"> <!-- WebForm_AutoFocus('txtUserID'); // --> </script>
Atau, Anda dapat menggunakan metode Fokus untuk kontrol untuk mengatur fokus awal ke kontrol tersebut. Metode Fokus berasal dari kelas Kontrol dan tersedia untuk semua kontrol ASP.NET 2.0. Dimungkinkan juga untuk mengatur fokus ke kontrol tertentu ketika terjadi kesalahan validasi. Itu akan tercakup dalam modul selanjutnya.
Kontrol Server Baru di ASP.NET 2.0
Berikut ini adalah kontrol server baru di ASP.NET 2.0. Kami akan membahas lebih rinci tentang beberapa di antaranya dalam modul selanjutnya.
Kontrol ImageMap
Kontrol ImageMap memungkinkan Anda menambahkan hotspot ke gambar yang dapat memulai posting kembali atau menavigasi ke URL. Ada tiga jenis hotspot yang tersedia; CircleHotSpot, RectangleHotSpot, dan PolygonHotSpot. Hotspot ditambahkan melalui editor koleksi di Visual Studio atau secara terprogram dalam kode. Tidak ada antarmuka pengguna yang tersedia untuk menggambar hotspot pada gambar. Koordinat dan ukuran atau radius hotspot harus ditentukan secara deklaratif. Juga tidak ada representasi visual hotspot di perancang. Jika hotspot dikonfigurasi untuk menavigasi ke URL, URL ditentukan melalui properti NavigateUrl dari hotspot. Dalam kasus hotspot posting balik, properti PostBackValue memungkinkan Anda untuk meneruskan string di pos kembali yang dapat diambil dalam kode sisi server.
Gambar 1: Editor Koleksi HotSpot di Visual Studio
Kontrol BulletedList
Kontrol BulletedList adalah daftar berpoin yang dapat dengan mudah terikat data. Daftar dapat diurutkan (bernomor) atau tidak diurutkan melalui properti BulletStyle. Setiap item dalam daftar diwakili oleh objek ListItem.
Gambar 2: Kontrol BulletedList di Visual Studio
Kontrol HiddenField
Kontrol HiddenField menambahkan bidang formulir tersembunyi ke halaman Anda, nilai yang tersedia dalam kode sisi server. Nilai bidang formulir tersembunyi umumnya diharapkan tetap tidak berubah di antara post back. Namun, dimungkinkan bagi pengguna jahat untuk mengubah nilai sebelum memposting kembali. Jika ini terjadi, kontrol HiddenField akan meningkatkan peristiwa ValueChanged. Jika Anda memiliki informasi sensitif dalam kontrol HiddenField dan Anda ingin memastikan bahwa informasi tersebut tetap tidak berubah, Anda harus menangani peristiwa ValueChanged dalam kode Anda.
Kontrol FileUpload
Kontrol FileUpload di ASP.NET 2.0 memungkinkan untuk mengunggah file ke server Web melalui halaman ASP.NET. Kontrol ini sangat mirip dengan kelas HtmlInputFile ASP.NET 1.x dengan beberapa pengecualian. Dalam ASP.NET 1.x, disarankan agar properti PostedFile diperiksa null untuk menentukan apakah Anda memiliki file yang baik. Kontrol FileUpload di ASP.NET 2.0 menambahkan properti HasFile baru yang dapat Anda gunakan untuk tujuan yang sama dan sedikit lebih efisien.
Properti PostedFile masih tersedia untuk akses ke objek HttpPostedFile, tetapi beberapa fungsi httpPostedFile sekarang tersedia secara intrinsik dengan kontrol FileUpload. Misalnya, untuk menyimpan file yang diunggah di ASP.NET 1.x, Anda memanggil metode SaveAs pada objek HttpPostedFile. Dengan menggunakan kontrol FileUpload di ASP.NET 2.0, Anda akan memanggil metode SaveAs pada kontrol FileUpload itu sendiri.
Perubahan signifikan lainnya dalam perilaku 2.0 (dan kemungkinan perubahan paling signifikan) adalah bahwa tidak perlu lagi memuat seluruh file yang diunggah ke dalam memori sebelum menyimpannya. Dalam 1.x, file apa pun yang diunggah disimpan sepenuhnya ke dalam memori sebelum ditulis ke disk. Arsitektur ini mencegah pengunggahan file besar.
Dalam ASP.NET 2.0, atribut requestLengthDiskThreshold dari elemen httpRuntime memungkinkan Anda untuk mengonfigurasi berapa banyak Kilobyte yang ditahan dalam buffer dalam memori sebelum ditulis ke disk.
PENTING: Dokumentasi MSDN (dan dokumentasi di tempat lain) menentukan bahwa nilai ini dalam byte (bukan Kilobyte) dan bahwa defaultnya adalah 256. Nilai sebenarnya ditentukan dalam Kilobyte dan nilai defaultnya adalah 80. Dengan memiliki nilai default 80K, kami memastikan bahwa buffer tidak berakhir pada tumpukan objek besar.
Kontrol Panduan
Cukup umum untuk bertemu ASP.NET pengembang yang berjuang dengan mencoba mengumpulkan informasi dalam serangkaian "halaman" menggunakan panel atau dengan mentransfer dari halaman ke halaman. Lebih sering daripada tidak, upaya adalah yang membuat frustrasi dan memakan waktu. Kontrol Wizard baru memecahkan masalah dengan memungkinkan langkah-langkah linier dan non-linier dalam antarmuka wizard yang sudah dikenal pengguna. Kontrol Wizard menyajikan formulir input dalam serangkaian langkah. Setiap langkah adalah jenis tertentu yang ditentukan oleh properti StepType kontrol. Jenis langkah yang tersedia adalah sebagai berikut:
Jenis Langkah | Penjelasan |
---|---|
Otomatis | Wizard secara otomatis menentukan jenis langkah berdasarkan posisinya dalam hierarki langkah. |
Mulai | Langkah pertama, sering digunakan untuk menyajikan pernyataan pengantar. |
Langkah | Sebuah langkah normal. |
Selesai | Langkah terakhir, biasanya digunakan untuk menyajikan tombol untuk menyelesaikan wizard. |
Selesai | Menyajikan pesan yang mengomunikasikan keberhasilan atau kegagalan. |
Catatan
Kontrol Wizard melacak statusnya menggunakan status kontrol ASP.NET. Oleh karena itu, properti EnableViewState dapat diatur ke false tanpa merugikan.
Video ini adalah panduan kontrol Wizard.
Lokalkan Kontrol
Kontrol Lokalkan mirip dengan kontrol Literal. Namun, kontrol Pelokalan memiliki properti Mode yang mengontrol bagaimana markup yang ditambahkan ke dalamnya dirender. Properti Mode mendukung nilai berikut:
Mode | Penjelasan |
---|---|
Transformasi | Markup diubah sesuai dengan protokol browser yang membuat permintaan. |
Passthrough | Markup dirender apa adanya. |
Mengkodekan | Markup yang ditambahkan ke kontrol dikodekan menggunakan HtmlEncode. |
Kontrol MultiView dan Tampilan
Kontrol MultiView bertindak sebagai kontainer untuk kontrol Tampilan, dan kontrol Tampilan bertindak sebagai kontainer (seperti kontrol Panel) untuk kontrol lain. Setiap tampilan dalam kontrol MultiView diwakili oleh satu kontrol Tampilan. Kontrol Tampilan pertama di MultiView adalah tampilan 0, yang kedua adalah tampilan 1, dll. Anda dapat beralih tampilan dengan menentukan ActiveViewIndex kontrol MultiView.
Kontrol Substitusi
Kontrol Substitusi digunakan bersama dengan penembolokan ASP.NET. Dalam kasus di mana Anda ingin memanfaatkan penembolokan, tetapi Anda memiliki bagian halaman yang harus diperbarui pada setiap permintaan (dengan kata lain, bagian dari halaman yang dikecualikan dari penembolokan), komponen Penggantian memberikan solusi yang bagus. Kontrol sebenarnya tidak merender output apa pun sendiri. Sebaliknya, ini terikat ke metode dalam kode sisi server. Ketika halaman diminta, metode dipanggil dan markup yang dikembalikan dirender sebagai pengganti kontrol substitusi.
Metode yang terikat kontrol Substitusi ditentukan melalui properti MethodName . Metode tersebut harus memenuhi kriteria berikut:
- Ini harus berupa metode statis (dibagikan dalam VB).
- Ini menerima satu parameter jenis HttpContext.
- Ini mengembalikan string yang mewakili markup yang harus menggantikan kontrol pada halaman.
Kontrol Substitusi tidak memiliki kemampuan untuk memodifikasi kontrol lain pada halaman, tetapi memang memiliki akses ke HttpContext saat ini melalui parameternya.
Kontrol GridView
Kontrol GridView adalah pengganti kontrol DataGrid. Kontrol ini akan dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol DetailsView
Kontrol DetailsView memungkinkan Anda menampilkan satu rekaman dari sumber data dan mengedit atau menghapusnya. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol FormView
Kontrol FormView digunakan untuk menampilkan satu rekaman dari sumber data di antarmuka yang dapat dikonfigurasi. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol AccessDataSource
Kontrol AccessDataSource digunakan untuk mengikat data database Access. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol ObjectDataSource
Kontrol ObjectDataSource digunakan untuk mendukung arsitektur tiga tingkat sehingga kontrol dapat terikat dengan objek bisnis tingkat menengah dibandingkan dengan model dua tingkat di mana kontrol terikat langsung ke sumber data. Ini akan dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol XmlDataSource
Kontrol XmlDataSource digunakan untuk mengikat data ke sumber data XML. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol SiteMapDataSource
Kontrol SiteMapDataSource menyediakan pengikatan data untuk kontrol navigasi situs berdasarkan peta situs. Ini akan dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol SiteMapPath
Kontrol SiteMapPath menampilkan serangkaian tautan navigasi yang biasa disebut sebagai remah roti. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol Menu
Kontrol Menu menampilkan menu dinamis menggunakan DHTML. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol TreeView
Kontrol TreeView digunakan untuk menampilkan tampilan pohon hierarkis data. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol Masuk
Kontrol Masuk menyediakan mekanisme untuk masuk ke situs Web. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol LoginView
Kontrol LoginView memungkinkan tampilan templat yang berbeda berdasarkan status masuk pengguna. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Kontrol Pemulihan Kata Sandi
Kontrol PasswordRecovery digunakan untuk mengambil kata sandi yang terlupakan oleh pengguna aplikasi ASP.NET. Ini dibahas secara lebih rinci dalam modul selanjutnya.
LoginStatus
Kontrol LoginStatus menampilkan status masuk pengguna. Ini dibahas secara lebih rinci dalam modul selanjutnya.
LoginName
Kontrol LoginName menampilkan nama pengguna pengguna setelah masuk ke aplikasi ASP.NET. Ini dibahas secara lebih rinci dalam modul selanjutnya.
CreateUserWizard
CreateUserWizard adalah wizard yang dapat dikonfigurasi yang memberi pengguna kemampuan untuk membuat akun Keanggotaan ASP.NET untuk digunakan dalam aplikasi ASP.NET. Ini dibahas secara lebih rinci dalam modul selanjutnya.
ChangePassword
Kontrol ChangePassword memungkinkan pengguna mengubah kata sandi mereka untuk aplikasi ASP.NET. Ini dibahas secara lebih rinci dalam modul selanjutnya.
Berbagai WebParts
ASP.NET 2.0 dikirim dengan berbagai Bagian Web. Ini akan dibahas secara rinci dalam modul selanjutnya.