Apa cara terbaik untuk menutup halaman ASPX dari code-behind?
Saya memiliki event handler tombol yang saya ingin menutup halaman setelah pengguna mengklik tombol ASP.NET pada halaman. Saya telah mencoba untuk secara terprogram menambahkan metode JavaScript yang berisi perintah window.close()
ke event OnClientClick
untuk menutup halaman, tetapi tidak berhasil. Tombol tersebut juga merupakan asp:AsyncPostBoskTrigger
untuk Panel Pembaruan AJAX.
Aplikasi ini menggunakan NET Framework 3.5.
UPDATE: Saya telah menerima semua masukan Anda dan memberikan solusi berikut ini:
Dalam kode di belakang:
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();");
}
Di halaman aspx:
function CloseWindow() {
window.close();
}
Postback adalah proses memuat ulang halaman, jadi jika Anda ingin halaman ditutup setelah postback maka Anda perlu mengatur javascript window.close() Anda untuk berjalan dengan event onload browser selama postback tersebut, biasanya dilakukan dengan menggunakan fungsi ClientScript.RegisterStartupScript()
.
Tetapi apakah Anda yakin ini yang ingin Anda lakukan? Menutup halaman cenderung membuat pengguna kesal.