FORMULIR WEB ASP.NET memberi pengembang model pengembangan berbasis peristiwa yang sangat baik. Namun, model pengembangan aplikasi sederhana ini membawa kita beberapa masalah kecil, misalnya, dalam aplikasi ASP tradisional, Anda dapat dengan mudah mentransfer satu atau beberapa nilai dari suatu halaman melalui metode POST ke halaman lain (request()/). request.form()/request.querystring()), agak merepotkan untuk mengimplementasikannya di ASP.NET menggunakan metode yang sama. Berikut cara lain untuk mengatasi situasi ini. ASP.NET memberi kita tiga cara, satu adalah menggunakan QueryString untuk mengirimkan nilai yang sesuai, yang lain adalah mengirimkan nilai yang sesuai melalui variabel sesi, dan yang lainnya adalah mengimplementasikannya melalui metode Server.Transfer.
1. Gunakan String Kueri
Querystring adalah cara yang sangat sederhana untuk meneruskan nilai. Kerugiannya adalah nilai yang akan dikirimkan akan ditampilkan di bilah alamat browser, dan objek tidak dapat diteruskan dalam metode ini. Cara ini paling baik digunakan jika ingin meneruskan suatu nilai yang tidak terlalu penting atau nilai yang sederhana. Mari kita gunakan contoh kecil untuk menyelesaikan pekerjaan transfer nilai.
1. Buat formulir web
2. Tempatkan tombol1 di formulir web baru dan dua TextBox1 dan TextBox2
3. Buat kode event klik untuk tombol tombol sebagai berikut:
private void button_click(pengirim objek,System.EventArgs e)
{
url string;
url="webform2.aspx?name="+TextBox1.Teks + "&Email="+TextBox2.Teks;
Respon.Redirect(url);
}
4. Buat halaman target baru dan beri nama webform2
5. Tempatkan dua Label1 dan Label2 di webform2
Tambahkan kode berikut di Page_Load webform2:
private void Page_Load(pengirim objek,System.EventArgs e)
{
Label1.Teks=Permintaan.QueryString["nama"];
Label2.Teks=Permintaan.QueryString["Email"];
}
Jalankan dan Anda dapat melihat hasilnya setelah transfer.
2. Gunakan variabel Sesi. Menggunakan variabel Sesi untuk meneruskan nilai adalah cara yang paling umum. Metode ini tidak hanya dapat meneruskan nilai ke halaman berikutnya, tetapi juga meneruskannya ke beberapa halaman hingga nilai variabel Sesi menjadi. dihapus. Variabel tersebut akan hilang. Ambil contoh:
1. Buat formulir web
2. Tempatkan tombol1 di formulir web baru dan dua TextBox1 dan TextBox2
3. Buat kode event klik untuk tombol tombol sebagai berikut:
private void button_click(pengirim objek,System.EventArgs e)
{
Sesi["Nama"]=KotakTeks1.Teks;
Sesi["Email"]=TextBox2.Text;
Respon.Redirect("webform2.aspx");
}
4. Buat halaman target baru dan beri nama webform2
5. Tempatkan dua Label1 dan Label2 di webform2
Tambahkan kode berikut di Page_Load webform2:
private void Page_Load(pengirim objek,System.EventArgs e)
{
Label1.Teks=Sesi["Nama"].ToString();
Label2.Teks=Sesi["Email"].ToString();
Sesi.Hapus("Nama");
Sesi.Hapus("Email");
}
Jalankan dan Anda dapat melihat hasilnya setelah transfer.
3. Gunakan Server.Transfer
Meskipun metode ini agak rumit, ini tetap merupakan cara untuk meneruskan nilai pada halaman.
Ambil contoh:
1. Buat formulir web
2. Tempatkan tombol1 di formulir web baru dan dua TextBox1 dan TextBox2
3. Buat kode event klik untuk tombol tombol sebagai berikut:
private void (pengirim objek, System.EventArgs e)
{
Server.Transfer("webform2.aspx");
}
4. Buat proses untuk mengembalikan kode nilai kontrol TextBox1 dan TextBox2 sebagai berikut:
Nama string publik
{
dapatkan {kembalikan TextBox1.Text;}
}
string publik Email
{
dapatkan{kembalikan TextBox2.Teks;}
}
5. Buat halaman target baru bernama webform2
6. Tempatkan dua Label1 dan Label2 di webform2
Tambahkan kode berikut di Page_Load webform2:
private void Page_load(pengirim objek,System.EventArgs e)
{
//Buat instance formulir web
formulir web1 wf1;
//Dapatkan pegangan yang dipakai
wf1=(webform1)Konteks.Handler;
Label1.Teks=wf1.Nama;
Label2.Teks=wf1.Email;
}
Ketiga cara ini merupakan hal yang umum.