Penulis: Builder, Tony Patton
Meskipun ASP.NET menyediakan platform yang kuat, pengembang tidak boleh mengabaikan teknologi matang seperti JavaScript. Dalam artikel ini, Tony
Patton menjelaskan cara mengintegrasikan JavaScript dengan kontrol ASP.NET dalam pengembangan web.
Meskipun platform pengembangan web memberikan fleksibilitas dan banyak fitur, Anda sering kali ingin atau perlu mengandalkan teknologi yang ada untuk menyelesaikan tugas yang diperlukan. Contoh yang baik adalah ASP.NET, yang menyediakan platform pengembangan yang kuat, namun pada saat yang sama teknologi matang seperti JavaScript juga tidak boleh diabaikan. Pada artikel ini, saya akan menjelaskan kepada Anda cara menghubungkan kode JavaScript ke kontrol ASP.NET.
cara konvensional
Biasanya, ketika aplikasi Web memerlukan jendela popup atau konfirmasi atau fungsi sisi klien lainnya, Anda membuat metode JavaScript yang diperlukan dan memanggilnya bila diperlukan. Misalnya, Listing A berisi jendela konfirmasi yang dapat digunakan pengguna untuk melanjutkan atau membatalkan pengiriman formulir.
Setelah memilih tombol kirim, metode konfirmasiSubmit JavaScript dipanggil. Perintah konfirmasi ini memungkinkan pengguna untuk melanjutkan pengiriman formulir (pilih Konfirmasi) atau batal (pilih Batal).
Kode di atas berfungsi sesuai rencana, tetapi tidak sesederhana itu ketika bekerja pada platform pengembangan, seperti ASP.NET.
Opsi penggantian untuk ASP.NET
ASP.NET mendukung penggunaan elemen HTML seperti tombol input dan kotak teks, namun terdapat satu set elemen kontrol lengkap yang menyediakan fungsionalitas tambahan berdasarkan model pengembangan ASP.NET sendiri.
Melampirkan JavaScript ke ASP.NET tidak sesederhana pendekatan HTML/JavaScript langsung. Model pemrograman ASP.NET menyediakan metode di kelas halaman dasar untuk melampirkan blok skrip ke elemen halaman. Metode berikut dapat digunakan untuk melampirkan atau mengintegrasikan JavaScript ke dalam halaman atau elemen halaman:
aku
RegisterClientScriptBlock: Memungkinkan halaman Anda berisi blok skrip, skrip sisi klien di objek halaman <form
runat=
Ini mulai berjalan setelah tag pembuka elemen server>. Blok skrip mengirimkan output sebagai objek, jadi Anda harus menambahkan dua tag elemen <script>.
aku
RegisterOnSubmitStatement: Memungkinkan Anda menetapkan blok/metode skrip ke acara OnSubmit pada objek halaman.
aku
RegisterStartupScript: memungkinkan Anda memasukkan blok skrip ke dalam halaman, mirip dengan metode RegisterClientScriptBlock. Metode ini ada di objek halaman <form
runat=
Berjalan sebelum tag penutup elemen server>, blok skrip mengirimkan keluaran sebagai objek, jadi Anda harus menambahkan dua tag elemen <script>.
Setiap metode dapat menerima dua parameter: kunci dan skrip. Kuncinya adalah nama yang ditetapkan ke blok skrip. Nilai kunci harus unik. Dengan nilai kunci unik ini, beberapa instance yang dikontrol server dapat meminta blok skrip jalankan skrip lagi pada aliran keluaran; skrip parameter kedua berisi skrip aktual yang dikirim ke klien, yang dapat berupa kode JavaScript lengkap atau nama metode.
Metode ini dapat digunakan dalam kode halaman ASP.NET yang sebenarnya, apakah itu VB.NET, C#, J# atau bahasa lainnya. Daftar B menunjukkan kode contoh ASP.NET yang ditulis dalam C#.
Metode JavaScript dibangun melalui variabel string, nilainya diteruskan ke metode RegisterClientScriptBlock sebagai argumen kedua, dan nama metode sebenarnya diteruskan melalui Atribut objek
Metode Tambah properti ditugaskan ke kontrol tombol ASP.NET. Peristiwa JavaScript diteruskan sebagai parameter pertama, dan nama metode adalah parameter kedua.
Selain itu, Anda mungkin memperhatikan penggunaan metode IsStartupScriptRegistered, yang memungkinkan Anda mengonfirmasi apakah skrip telah didaftarkan sebelum melanjutkan menggunakannya. Ada dua metode untuk masalah ini:
aku
IsStartupScriptRegistered: Mengonfirmasi apakah skrip startup klien telah terdaftar pada objek halaman. Parameter tunggalnya adalah nama skrip.
aku
IsClientScriptBlockRegistered: Mengonfirmasi apakah blok skrip klien telah terdaftar pada objek halaman. Parameter satu-satunya adalah nama skrip.
Cara lain untuk memecahkan masalah ini adalah dengan menggunakan metode RegisterOnSubmitStatement dari kelas halaman. Listing C mengulangi fungsi Listing B, namun perbedaannya adalah metode konfirmasiSubmit dihubungkan ke acara kirim halaman, bukan ke acara klik di halaman tersebut. tombol.
Contoh sederhana ini dengan jelas menggambarkan cara memasukkan blok skrip JavaScript dan skrip JavaScript ke dalam kontrol pada halaman ASP.NET, pendekatan ini dapat membantu Anda melampirkan skrip ke kontrol tersebut, namun Anda juga dapat menggunakan metode register. untuk memusatkan JavaScript proyek. Anda dapat membuat file kelas yang berisi skrip dan menggunakannya di halaman sesuai kebutuhan. Dengan cara ini Anda hanya perlu mengelola skrip di satu tempat dan menggunakannya pada satu atau beberapa halaman dalam suatu aplikasi menjadi lebih mudah.
Kombinasi lama dan baru. Tidak peduli platform pengembangan apa yang Anda gunakan, Anda tidak akan menyerah menggunakan JavaScript sebagai bahasa skrip sisi klien. JavaScript adalah standar untuk mengembangkan fungsi sisi klien sejumlah besar fungsi, sering kali Anda masih JavaScript perlu "menikah" dengan kontrol ini. Untungnya, kelas halaman ASP.NET berisi banyak metode untuk mengintegrasikan blok skrip dan metode ke dalam halaman dan kontrolnya.