Kita telah melihat siklus hidup halaman dan bagaimana halaman dapat berisi kontrol yang berbeda. Halaman itu sendiri dipakai sebagai objek kontrol. Semua formulir web pada dasarnya adalah turunan dari kelas halaman ASP.NET. Kelas halaman memiliki properti yang sangat berguna berikut ini, yang sesuai dengan objek internal:
sidang
aplikasi
cache
bertanya
tanggapan
server
pengguna
melacak
Kami akan membahas setiap objek pada waktu yang tepat. Dalam tutorial ini kita akan menjelajahi objek Server, objek Permintaan, dan objek Respon.
Objek server di ASP.NET adalah turunan dari kelas System.Web.HttpServerUtility. Kelas HttpServerUtility menyediakan sejumlah besar properti dan metode untuk melakukan tugas yang berbeda.
Metode dan properti kelas HttpServerUtility diekspos melalui objek server internal yang disediakan oleh ASP.NET.
Tabel berikut menyediakan serangkaian properti kelas HttpServerUtility.
milik | menggambarkan |
---|---|
Nama Mesin | Nama komputer server |
ScriptTimeOut | Mendapatkan dan menetapkan nilai batas waktu permintaan dalam hitungan detik |
Tabel berikut memberikan beberapa metode penting:
metode | menggambarkan |
---|---|
Buat Objek (String) | Membuat instance objek COM, diverifikasi oleh ProgID-nya. |
Buat Objek (Jenis) | Membuat instance objek COM, diverifikasi berdasarkan Tipenya. |
Sama dengan (Objek) | Tentukan apakah objek tertentu konsisten dengan objek yang ada. |
Jalankan (String) | Jalankan jalur virtual yang ditentukan oleh aplikasi pemrosesan dalam konteks permintaan saat ini. |
Jalankan (String, Boolean) | Jalankan jalur virtual yang ditentukan oleh pengendali dalam konteks permintaan saat ini, tentukan apakah akan menghapus koleksi QueryString dan formulir. |
Dapatkan Kesalahan Terakhir | Kembalikan pengecualian sebelumnya. |
Dapatkan Tipe | Mendapatkan tipe instance yang ada. |
HtmlEncode | Ubah string biasa menjadi string HTML legal. |
HtmlDekode | Ubah string Html menjadi string biasa. |
KeString | Mengembalikan string yang mewakili objek saat ini. |
Mentransfer (String) | Untuk permintaan saat ini, hentikan eksekusi halaman saat ini dan mulai eksekusi halaman baru dengan menentukan jalur URL halaman tersebut. |
Dekode Url | Ubah string URL menjadi string normal. |
UrlEncodeToken | Sama seperti UrlEncode, tetapi berisi data yang dikodekan Base64 dalam array byte. |
UrlDecodeToken | Berfungsi sama seperti UrlDecode, tetapi berisi data yang dikodekan Base64 dalam array byte. |
Jalur Peta | Mengembalikan jalur fisik yang sesuai dengan jalur file di server virtual yang ditentukan. |
Transfer | Transfer eksekusi pada aplikasi saat ini ke halaman web lain. |
Objek permintaan adalah turunan dari kelas System.Web.HttpRequest. Ini mewakili nilai dan atribut permintaan HTTP yang memungkinkan halaman dimuat ke browser.
Informasi yang disajikan oleh objek ini dikemas dalam abstraksi tingkat yang lebih tinggi (model kontrol web). Namun, objek ini dapat membantu memeriksa beberapa informasi, seperti browser klien dan cookie.
Tabel berikut menyediakan beberapa properti penting dari objek permintaan:
milik | menggambarkan |
---|---|
Tipe Terima | Mendapatkan array string tipe yang diterima MIME yang didukung oleh pengguna. |
Jalur Aplikasi | Dapatkan jalur root aplikasi sebenarnya dari aplikasi ASP.NET di server. |
Peramban | Mendapatkan atau menetapkan informasi tentang kemampuan browser pengguna yang meminta. |
Pengkodean Konten | Mendapatkan atau menyetel entitas kumpulan karakter. |
Panjang Konten | Menentukan panjang konten yang dikirim oleh klien dalam byte. |
Tipe Konten | Mendapatkan atau menyetel tipe konten MIME dari permintaan masuk. |
kue | Dapatkan kumpulan cookie yang dikirim oleh klien. |
Jalur File | Dapatkan jalur sebenarnya dari permintaan saat ini. |
File | Mendapatkan kumpulan file yang diunggah klien dalam format MIME multibagian. |
Membentuk | Mendapat kumpulan variabel bentuk. |
Header | Mendapat koleksi header HTTP. |
Metode Http | Dapatkan metode transfer data HTTP yang digunakan oleh pengguna (seperti GET, POST, atau HEAD) |
Aliran Masukan | Dapatkan konten entitas dari HTTP yang masuk. |
Koneksi Aman | Mendapat nilai yang menunjukkan apakah koneksi HTTP menggunakan soket aman (yaitu HTTPS). |
String Kueri | Mendapatkan kumpulan variabel string kueri HTTP. |
Url Mentah | Dapatkan URL asli dari permintaan saat ini. |
Tipe Permintaan | Mendapatkan atau menyetel metode transfer data HTTP (GET atau POST) yang digunakan oleh pengguna. |
Variabel Server | Mendapat kumpulan variabel server web. |
TotalByte | Dapatkan jumlah byte dari aliran input yang ada. |
Url | Mendapatkan informasi tentang URL yang diminta. |
Perujuk Url | Mendapatkan informasi URL tentang permintaan klien sebelumnya yang ditautkan ke URL yang ada. |
Agen Pengguna | Mendapatkan string agen pengguna asli browser klien. |
Alamat Host Pengguna | Dapatkan alamat host IP dari klien jarak jauh. |
NamaHost Pengguna | Mendapatkan nama DNS klien jarak jauh. |
Bahasa Pengguna | Mendapatkan rangkaian string preferensi bahasa klien yang diurutkan. |
Tabel berikut memberikan beberapa metode penting:
metode | menggambarkan |
---|---|
BinerBaca | Melakukan pembacaan biner sejumlah byte tertentu dari aliran input saat ini. |
Sama dengan (Objek) | Menentukan apakah objek yang ditentukan setara dengan objek yang sudah ada. (diwarisi dari objek) |
Dapatkan Tipe | Mendapatkan tipe instance yang ada. |
Koordinat Gambar Peta | Menarik parameter formulir bidang gambar yang masuk ke nilai koordinat x dan y yang sesuai. |
Jalur Peta(String) | Menarik jalur nyata yang ditentukan ke dalam jalur fisik. |
Simpan Sebagai | Disimpan di disk sebagai permintaan HTTP. |
KeString | Mengembalikan string yang mewakili objek yang ada. |
Validasi Input | Menyebabkan validasi terjadi dengan mengakses kumpulan properti Cookies, Formulir, dan QueryString. |
Objek respon mewakili respon server terhadap permintaan pengguna. Ini adalah turunan dari kelas System.Web.HttpResponse.
Di ASP.NET, objek respons tidak memainkan peran penting dalam mengirimkan teks HTML ke pengguna karena kontrol sisi server memiliki metode berorientasi objek yang bersarang untuk merender dirinya sendiri.
Namun, objek HttpResponse menyediakan beberapa fungsi penting, seperti karakteristik cookie dan metode Redirect(). Metode Response.Redirect() memungkinkan pengguna untuk dipindahkan ke halaman lain, baik di dalam aplikasi atau di luar aplikasi. Itu memerlukan proses bolak-balik.
Tabel berikut memberikan beberapa properti penting dari objek respons:
milik | menggambarkan |
---|---|
Penyangga | Mendapat atau menetapkan nilai yang menunjukkan apakah output di-buffer dan dikirim setelah responden lengkap selesai. |
Keluaran Penyangga | Mendapat atau menetapkan nilai yang menunjukkan apakah output di-buffer dan dikirim setelah halaman lengkap selesai. |
rangkaian karakter | Mendapatkan atau menyetel kumpulan karakter HTTP dari aliran keluaran. |
Pengkodean Konten | Mendapatkan atau menyetel kumpulan karakter HTTP dari aliran keluaran. |
Tipe Konten | Mendapatkan atau menyetel jenis HTTP MIME dari aliran keluaran. |
kue | Dapatkan koleksi cookie yang sesuai. |
Kedaluwarsa | Mendapat atau menyetel jumlah menit sebelum halaman cache di browser kedaluwarsa. |
Kedaluwarsa Absolut | Mendapatkan atau menetapkan tanggal dan waktu absolut saat informasi cache dihapus dari cache. |
Pengkodean Tajuk | Mendapatkan atau menyetel objek pengkodean yang mewakili pengkodean aliran keluaran header yang ada. |
Header | Mendapat kumpulan header respons. |
Apakah Klien Terhubung | Mendapat nilai yang menunjukkan apakah pengguna masih terhubung ke server. |
Keluaran | Menyebabkan teks keluaran menjadi keluaran ke aliran respons HTTP. |
Aliran Keluaran | Mengaktifkan keluaran biner ke isi konten HTTP dari keluaran. |
Lokasi Pengalihan | Mendapatkan atau menetapkan nilai posisi header Http. |
Status | Atur bilah status dan kembalikan ke klien. |
Kode Status | Mendapatkan atau menyetel kode status keluaran HTTP yang dikembalikan ke klien. |
Deskripsi Status | Mendapatkan atau menyetel string status keluaran HTTP yang dikembalikan ke klien. |
SubStatusKode | Mendapat atau menetapkan nilai yang membatasi kode status respons. |
Menekan Konten | Mendapat atau menetapkan nilai yang menunjukkan apakah akan mengirim konten HTTP ke klien. |
Tabel berikut memberikan beberapa metode penting:
metode | menggambarkan |
---|---|
TambahkanHeader | Menambahkan header HTTP ke aliran keluaran. AddHeader disediakan untuk kompatibilitas dengan versi ASP sebelumnya. |
TambahkanCookie | Infrastruktur menambahkan cookie HTTP ke koleksi cookie internal. |
TambahkanHeader | Menambahkan header HTTP ke aliran keluaran. |
TambahkanToLog | Tambahkan informasi log kustom ke file log Layanan Informasi Internet (IIS). |
BinerWrite | Menulis string karakter biner ke aliran keluaran HTTP. |
Hapus Konten | Menghapus semua output dari aliran buffer. |
Menutup | Tutup soket klien. |
Akhir | Mengirimkan semua output buffer yang ada ke klien, menghentikan eksekusi halaman, dan memunculkan event EndRequest. |
Sama dengan (Objek) | Menentukan apakah objek yang ditentukan setara dengan objek yang sudah ada. |
Menyiram | Kirim semua output buffer yang ada ke klien. |
Dapatkan Tipe | Mendapatkan tipe instance yang ada. |
foto | Menambahkan header HTTP PICS-Label ke aliran keluaran. |
Pengalihan (String) | Arahkan ulang permintaan ke URL baru dan tentukan URL baru. |
Pengalihan (String, Boolean) | Arahkan klien ke URL baru. Menentukan URL baru dan apakah halaman yang ada harus dihentikan. |
SetKue | Perbarui cookie yang ada di koleksi cookie. |
KeString | Mengembalikan string yang mewakili objek yang ada |
Mengirimkan File (String) | Menulis file tertentu secara langsung ke aliran keluaran respons HTTP tanpa buffering di memori. |
Tulis (Karakter) | Menulis karakter ke aliran keluaran respons HTTP. |
Menulis(Objek) | Menulis objek ke dalam aliran respons HTTP. |
Menulis (String) | Menulis string ke aliran keluaran respons HTTP. |
File Tulis(String) | Menulis konten file tertentu secara langsung ke aliran keluaran respons HTTP, sebagai blok file. |
File Tulis(String, Boolean) | Menulis konten file tertentu secara langsung ke aliran keluaran respons HTTP, sebagai blok memori. |
Contoh sederhana berikut ini memiliki kontrol kotak teks yang memungkinkan pengguna memasukkan nama, tombol yang mengirimkan informasi ke server, dan kontrol label yang menampilkan URL komputer klien.
File konten:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="server_side._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> Enter your name: <br /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" /> <br /> <asp:Label ID="Label1" runat="server"/> </div> </form> </body></html>
Button1_Klik kode setelah klik:
protected void Button1_Click(object sender, EventArgs e) { if (!String.IsNullOrEmpty(TextBox1.Text)) { // Access the HttpServerUtility methods through // the intrinsic Server object. Label1.Text = "Welcome, " + Server.HtmlEncode(TextBox1.Text) + ". <br/> The url is " + Server.UrlEncode(Request.Url.ToString()) }}
Jalankan halaman untuk melihat hasil berikut: