Bagikan melalui


Apa itu Formulir Web

ASP.NET Web Forms adalah bagian dari kerangka kerja aplikasi web ASP.NET dan disertakan dengan Visual Studio. Ini adalah salah satu dari empat model pemrograman yang dapat Anda gunakan untuk membuat aplikasi web ASP.NET, yang lain ASP.NET MVC, halaman web ASP.NET, dan Aplikasi Halaman Tunggal ASP.NET.

Formulir Web adalah halaman yang diminta pengguna Anda menggunakan browser mereka. Halaman-halaman ini dapat ditulis menggunakan kombinasi HTML, skrip klien, kontrol server, dan kode server. Ketika pengguna meminta halaman, halaman dikompilasi dan dijalankan di server oleh kerangka kerja, lalu kerangka kerja menghasilkan markup HTML yang dapat dirender browser. Halaman ASP.NET Web Forms menyajikan informasi kepada pengguna di browser atau perangkat klien apa pun.

Menggunakan Visual Studio, Anda dapat membuat ASP.NET Web Forms. Lingkungan Pengembangan Terpadu (IDE) Visual Studio memungkinkan Anda menyeret dan meletakkan kontrol server untuk meletakkan halaman Formulir Web Anda. Anda kemudian dapat dengan mudah mengatur properti, metode, dan peristiwa untuk kontrol di halaman atau untuk halaman itu sendiri. Properti, metode, dan peristiwa ini digunakan untuk menentukan perilaku, tampilan, dan nuansa halaman web, dan sebagainya. Untuk menulis kode server guna menangani logika halaman, Anda dapat menggunakan bahasa .NET seperti Visual Basic atau C#.

Catatan

dokumentasi ASP.NET dan Visual Studio mencakup beberapa versi. Topik yang menyoroti fitur dari versi sebelumnya mungkin berguna untuk tugas dan skenario Anda saat ini menggunakan versi terbaru.

ASP.NET Web Forms adalah:

  • Berdasarkan teknologi Microsoft ASP.NET, di mana kode yang berjalan di server secara dinamis menghasilkan output halaman Web ke browser atau perangkat klien.
  • Kompatibel dengan browser atau perangkat seluler apa pun. Halaman web ASP.NET secara otomatis merender HTML yang sesuai dengan browser yang benar untuk fitur seperti gaya, tata letak, dan sebagainya.
  • Kompatibel dengan bahasa apa pun yang didukung oleh runtime bahasa umum .NET, seperti Microsoft Visual Basic dan Microsoft Visual C#.
  • Dibangun di atas .NET Framework Microsoft. Ini memberikan semua manfaat kerangka kerja, termasuk lingkungan terkelola, keamanan jenis, dan pewarisan.
  • Fleksibel karena Anda dapat menambahkan kontrol yang dibuat pengguna dan pihak ketiga kepada mereka.

ASP.NET web forms menawarkan:

  • Pemisahan HTML dan kode UI lainnya dari logika aplikasi.
  • Rangkaian kontrol server yang kaya untuk tugas umum, termasuk akses data.
  • Pengikatan data yang kuat, dengan dukungan alat yang hebat.
  • Dukungan untuk skrip sisi klien yang dijalankan di browser.
  • Dukungan untuk berbagai kemampuan lain, termasuk perutean, keamanan, performa, internasionalisasi, pengujian, penelusuran kesalahan, penanganan kesalahan, dan manajemen status.

ASP.NET Web Forms Membantu Anda Mengatasi Tantangan

Pemrograman aplikasi web menghadirkan tantangan yang biasanya tidak muncul saat memprogram aplikasi tradisional berbasis klien. Di antara tantangannya adalah:

  • Menerapkan antarmuka pengguna Web yang kaya - Mungkin sulit dan membosankan untuk merancang dan mengimplementasikan antarmuka pengguna menggunakan fasilitas HTML dasar, terutama jika halaman memiliki tata letak yang kompleks, sejumlah besar konten dinamis, dan objek interaktif pengguna berfungsi lengkap.
  • Pemisahan klien dan server - Dalam aplikasi Web, klien (browser) dan server adalah program yang berbeda yang sering berjalan di komputer yang berbeda (dan bahkan pada sistem operasi yang berbeda). Akibatnya, dua bagian aplikasi berbagi informasi yang sangat sedikit; mereka dapat berkomunikasi, tetapi biasanya hanya bertukar potongan kecil informasi sederhana.
  • Eksekusi tanpa status - Ketika server Web menerima permintaan halaman, server web menemukan halaman, memprosesnya, mengirimkannya ke browser, lalu membuang semua informasi halaman. Jika pengguna meminta halaman yang sama lagi, server mengulangi seluruh urutan, memproses ulang halaman dari awal. Dengan cara lain, server tidak memiliki memori halaman yang telah diproses—halaman tidak memiliki status. Oleh karena itu, jika aplikasi perlu mempertahankan informasi tentang halaman, sifat stateless-nya dapat menjadi masalah.
  • Kemampuan klien yang tidak diketahui - Dalam banyak kasus, aplikasi Web dapat diakses oleh banyak pengguna menggunakan browser yang berbeda. Browser memiliki kemampuan yang berbeda, sehingga sulit untuk membuat aplikasi yang akan berjalan dengan baik pada semuanya.
  • Komplikasi dengan akses data - Membaca dari dan menulis ke sumber data dalam aplikasi Web tradisional bisa rumit dan intensif sumber daya.
  • Komplikasi dengan skalabilitas - Dalam banyak kasus aplikasi Web yang dirancang dengan metode yang ada gagal memenuhi tujuan skalabilitas karena kurangnya kompatibilitas antara berbagai komponen aplikasi. Ini sering menjadi titik kegagalan umum untuk aplikasi di bawah siklus pertumbuhan yang berat.

Memenuhi tantangan ini untuk aplikasi Web dapat memerlukan waktu dan upaya yang substansial. ASP.NET Web Forms dan kerangka kerja ASP.NET mengatasi tantangan ini dengan cara berikut:

  • Model objek yang intuitif dan konsisten - Kerangka kerja halaman ASP.NET menyajikan model objek yang memungkinkan Anda menganggap formulir Anda sebagai unit, bukan sebagai klien dan bagian server terpisah. Dalam model ini, Anda dapat memprogram halaman dengan cara yang lebih intuitif daripada dalam aplikasi Web tradisional, termasuk kemampuan untuk mengatur properti untuk elemen halaman dan merespons peristiwa. Selain itu, kontrol server ASP.NET adalah abstraksi dari konten fisik halaman HTML dan dari interaksi langsung antara browser dan server. Secara umum, Anda dapat menggunakan kontrol server dengan cara Anda mungkin bekerja dengan kontrol dalam aplikasi klien dan tidak perlu memikirkan cara membuat HTML untuk menyajikan dan memproses kontrol dan kontennya.
  • Model pemrograman berbasis peristiwa - ASP.NET Formulir Web membawa ke aplikasi Web model yang familier menulis penanganan aktivitas untuk peristiwa yang terjadi pada klien atau server. Kerangka kerja halaman ASP.NET mengabstraksi model ini sewaktu-waktu sehingga mekanisme yang mendasar untuk menangkap peristiwa pada klien, mengirimkannya ke server, dan memanggil metode yang sesuai semuanya otomatis dan tidak terlihat oleh Anda. Hasilnya adalah struktur kode yang jelas dan mudah ditulis yang mendukung pengembangan berbasis peristiwa.
  • Manajemen status intuitif - Kerangka kerja halaman ASP.NET secara otomatis menangani tugas mempertahankan status halaman Anda dan kontrolnya, dan memberi Anda cara eksplisit untuk mempertahankan status informasi khusus aplikasi. Ini dicapai tanpa penggunaan sumber daya server yang berat dan dapat diimplementasikan dengan atau tanpa mengirim cookie ke browser.
  • Aplikasi independen browser - Kerangka kerja halaman ASP.NET memungkinkan Anda membuat semua logika aplikasi di server, menghilangkan kebutuhan untuk secara eksplisit mengkodekan perbedaan di browser. Namun, ini masih memungkinkan Anda untuk memanfaatkan fitur khusus browser dengan menulis kode sisi klien untuk memberikan peningkatan performa dan pengalaman klien yang lebih kaya.
  • .NET Framework dukungan runtime bahasa umum - Kerangka kerja halaman ASP.NET dibangun di atas .NET Framework, sehingga seluruh kerangka kerja tersedia untuk aplikasi ASP.NET apa pun. Aplikasi Anda dapat ditulis dalam bahasa apa pun yang kompatibel dengan runtime. Selain itu, akses data disederhanakan menggunakan infrastruktur akses data yang disediakan oleh .NET Framework, termasuk ADO.NET.
  • .NET Framework performa server yang dapat diskalakan - Kerangka kerja halaman ASP.NET memungkinkan Anda untuk menskalakan aplikasi Web Anda dari satu komputer dengan satu prosesor ke farm Web multi-komputer dengan bersih dan tanpa perubahan rumit pada logika aplikasi.

Fitur Formulir Web ASP.NET

  • Kontrol Server- ASP.NET Kontrol server web adalah objek pada halaman web ASP.NET yang berjalan ketika halaman diminta dan yang merender markup ke browser. Banyak kontrol server Web mirip dengan elemen HTML yang sudah dikenal, seperti tombol dan kotak teks. Kontrol lain mencakup perilaku kompleks, seperti kontrol kalender, dan kontrol yang bisa Anda gunakan untuk menyambungkan ke sumber data dan menampilkan data.
  • Halaman Master- ASP.NET halaman master memungkinkan Anda membuat tata letak yang konsisten untuk halaman di aplikasi Anda. Satu halaman master menentukan tampilan dan nuansa dan perilaku standar yang Anda inginkan untuk semua halaman (atau sekelompok halaman) di aplikasi Anda. Anda kemudian dapat membuat halaman konten individual yang berisi konten yang ingin Anda tampilkan. Saat pengguna meminta halaman konten, mereka menggabungkan dengan halaman master untuk menghasilkan output yang menggabungkan tata letak halaman master dengan konten dari halaman konten.
  • Bekerja dengan Data- ASP.NET menyediakan banyak opsi untuk menyimpan, mengambil, dan menampilkan data. Dalam aplikasi ASP.NET Web Forms, Anda menggunakan kontrol terikat data untuk mengotomatiskan presentasi atau input data dalam elemen UI halaman web seperti tabel dan kotak teks dan daftar drop-down.
  • Keanggotaan- ASP.NET Identity menyimpan kredensial pengguna Anda dalam database yang dibuat oleh aplikasi. Saat pengguna Anda masuk, aplikasi memvalidasi kredensial mereka dengan membaca database. Folder Akun proyek Anda berisi file yang mengimplementasikan berbagai bagian keanggotaan: mendaftar, masuk, mengubah kata sandi, dan mengotorisasi akses. Selain itu, ASP.NET Web Forms mendukung OAuth dan OpenID. Penyempurnaan autentikasi ini memungkinkan pengguna untuk masuk ke situs Anda menggunakan kredensial yang ada, dari akun seperti Facebook, Twitter, Windows Live, dan Google. Secara default, templat membuat database keanggotaan menggunakan nama database default pada instans SQL Server Express LocalDB, server database pengembangan yang dilengkapi dengan Visual Studio Express 2013 untuk Web.
  • Skrip Klien dan Kerangka Kerja Klien- Anda dapat meningkatkan fitur ASP.NET berbasis server dengan menyertakan fungsionalitas skrip klien di halaman Formulir Web ASP.NET. Anda dapat menggunakan skrip klien untuk menyediakan antarmuka pengguna yang lebih kaya dan lebih responsif kepada pengguna. Anda juga dapat menggunakan skrip klien untuk melakukan panggilan asinkron ke server Web saat halaman berjalan di browser.
  • Perutean- Perutean URL memungkinkan Anda mengonfigurasi aplikasi untuk menerima URL permintaan yang tidak memetakan ke file fisik. URL permintaan hanyalah URL yang dimasukkan pengguna ke browser mereka untuk menemukan halaman di situs web Anda. Anda menggunakan perutean untuk menentukan URL yang bermakna secara semantik bagi pengguna dan itu dapat membantu pengoptimalan mesin pencari (SEO).
  • Manajemen Status- ASP.NET Formulir Web menyertakan beberapa opsi yang membantu Anda mempertahankan data berdasarkan per halaman dan di seluruh aplikasi.
  • Keamanan- Bagian penting dari pengembangan aplikasi yang lebih aman adalah memahami ancaman terhadapnya. Microsoft telah mengembangkan cara untuk mengategorikan ancaman: Spoofing, Tampering, Penolakan, Pengungkapan informasi, Penolakan layanan, Elevasi (STRIDE). Di ASP.NET Web Forms, Anda dapat menambahkan titik ekstensibilitas dan opsi konfigurasi yang memungkinkan Anda menyesuaikan berbagai perilaku keamanan di ASP.NET Web Forms.
  • Performa- Performa bisa menjadi faktor kunci dalam situs web atau proyek yang berhasil. ASP.NET Web Forms memungkinkan Anda memodifikasi performa yang terkait dengan pemrosesan kontrol halaman dan server, manajemen status, akses data, konfigurasi dan pemuatan aplikasi, dan praktik pengkodian yang efisien.
  • Internationalisasi- ASP.NET Formulir Web memungkinkan Anda membuat halaman web yang dapat memperoleh konten dan data lain berdasarkan pengaturan bahasa pilihan untuk browser atau berdasarkan pilihan bahasa pengguna yang eksplisit. Konten dan data lain disebut sebagai sumber daya dan data tersebut dapat disimpan dalam file sumber daya atau sumber lain. Di halaman ASP.NET Web Forms, Anda mengonfigurasi kontrol untuk mendapatkan nilai propertinya dari sumber daya. Pada durasi, ekspresi sumber daya digantikan oleh sumber daya dari file sumber daya yang dilokalkan yang sesuai.
  • Penelusuran Kesalahan dan Penanganan Kesalahan- ASP.NET menyertakan fitur untuk membantu Anda mendiagnosis masalah yang mungkin muncul di aplikasi Formulir Web Anda. Penelusuran kesalahan dan penanganan kesalahan didukung dengan baik dalam ASP.NET Web Forms sehingga aplikasi Anda mengkompilasi dan berjalan secara efektif.
  • Penyebaran dan Hosting- Visual Studio, ASP.NET, Azure, dan IIS menyediakan alat yang membantu Anda dengan proses penyebaran dan hosting aplikasi Web Forms Anda.

Memutuskan Kapan Membuat Aplikasi Formulir Web

Anda harus mempertimbangkan dengan cermat apakah akan menerapkan aplikasi Web dengan menggunakan model ASP.NET Web Forms atau model lain, seperti kerangka kerja MVC ASP.NET. Kerangka kerja MVC tidak menggantikan model Formulir Web; Anda dapat menggunakan salah satu kerangka kerja untuk aplikasi Web. Sebelum Anda memutuskan untuk menggunakan model Formulir Web atau kerangka kerja MVC untuk situs Web tertentu, imbang keuntungan dari setiap pendekatan.

Keuntungan dari Web Forms-Based Web Application

Kerangka kerja berbasis Formulir Web menawarkan keuntungan berikut:

  • Ini mendukung model peristiwa yang mempertahankan status melalui HTTP, yang menguntungkan pengembangan aplikasi Web lini bisnis. Aplikasi berbasis Web Forms menyediakan puluhan peristiwa yang didukung di ratusan kontrol server.
  • Ini menggunakan pola Pengontrol Halaman yang menambahkan fungsionalitas ke halaman individual. Untuk informasi selengkapnya, lihat Pengontrol Halaman.
  • Ini menggunakan formulir status tampilan atau berbasis server, yang dapat mempermudah pengelolaan informasi status.
  • Ini berfungsi dengan baik untuk tim kecil pengembang web dan desainer yang ingin memanfaatkan sejumlah besar komponen yang tersedia untuk pengembangan aplikasi yang cepat.
  • Secara umum, kurang kompleks untuk pengembangan aplikasi, karena komponen (kelas Halaman , kontrol, dan sebagainya) terintegrasi erat dan biasanya membutuhkan lebih sedikit kode daripada model MVC.

Keuntungan dari Aplikasi Web MVC-Based

Kerangka kerja MVC ASP.NET menawarkan keuntungan berikut:

  • Ini membuatnya lebih mudah untuk mengelola kompleksitas dengan membalikkan aplikasi ke dalam model, tampilan, dan pengontrol.
  • Ini tidak menggunakan formulir status tampilan atau berbasis server. Ini membuat kerangka kerja MVC ideal untuk pengembang yang menginginkan kontrol penuh atas perilaku aplikasi.
  • Ini menggunakan pola Pengontrol Depan yang memproses permintaan aplikasi Web melalui satu pengontrol. Ini memungkinkan Anda merancang aplikasi yang mendukung infrastruktur perutean yang kaya. Untuk informasi selengkapnya, lihat Pengontrol Depan.
  • Ini memberikan dukungan yang lebih baik untuk pengembangan berbasis pengujian (TDD).
  • Ini berfungsi dengan baik untuk aplikasi Web yang didukung oleh tim besar pengembang dan desainer Web yang membutuhkan kontrol tingkat tinggi atas perilaku aplikasi.